<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Meine Anwendung soll beim Start übergebene Argumente annehmen]]></title><description><![CDATA[<p>Hallo,</p>
<p>wahrscheinlich ist die Frage recht banal, aber ich schaffe es wirklich nicht und bitte freundlichst um Hilfe.</p>
<p>Ich habe eine Anwendung, die irgendwo und irgendwann eine andere Anwendung aufruft mittels</p>
<pre><code class="language-cpp">execl(NeueAnwendung, Argument1, Argument2, NULL);
</code></pre>
<p>Nun soll meine &quot;NeueAnwendung&quot; beim Start natürlich auch die beiden Argumente annehmen.</p>
<p>Grundsätzlich hätte ich ja gesagt</p>
<pre><code class="language-cpp">int main (char string[], char kennzeichen)
{
 ...
}
</code></pre>
<p>Aber wenn ich sowas in meinen Code einfüge, dann wird die main() noch nicht mal ausgeführt. Die Anwendung macht schön brav alles, was im Konstruktor und in den nachfolgend aufgerufenen Funktionen steht, aber die main() interessiert sie mal gar nicht.<br />
Sie von irgendwo aufzurufen kann ja eigentlich auch nicht klappen, denn das wäre ja schon viel zu spät, die Argumente müssen ja beim Programmstart entgegen genommen werden und nicht irgendwann während der Laufzeit.</p>
<p>Kann es evtl. sein, dass ich diesen Teil</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
</code></pre>
<p>erweitern muss? Schließlich ist das doch das allererste was abgearbeitet wird, wenn die Anwendung gestartet wird. Damit müßte doch dieser Teil auch die Argumente entgegen nehmen, oder?<br />
Falls dem so sein sollte, habe ich aber ehrlich gesagt keine Ahnung, wie ich diese zwei Zeilen ergänzen soll, damit er mir die beiden Argumente (1. Argument ist ein String, zweites ein einzelnes Character) beim Start auch entgegennimmt.</p>
<p>Kann mir vielleicht bitte einer helfen?</p>
<p>Oder falls ich komplett auf dem Holzweg sein sollte, mir den richtigen Weg weisen?</p>
<p>Vielen lieben Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194788/meine-anwendung-soll-beim-start-übergebene-argumente-annehmen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 06:28:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194788.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 10 Oct 2007 20:00:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Meine Anwendung soll beim Start übergebene Argumente annehmen on Wed, 10 Oct 2007 20:00:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wahrscheinlich ist die Frage recht banal, aber ich schaffe es wirklich nicht und bitte freundlichst um Hilfe.</p>
<p>Ich habe eine Anwendung, die irgendwo und irgendwann eine andere Anwendung aufruft mittels</p>
<pre><code class="language-cpp">execl(NeueAnwendung, Argument1, Argument2, NULL);
</code></pre>
<p>Nun soll meine &quot;NeueAnwendung&quot; beim Start natürlich auch die beiden Argumente annehmen.</p>
<p>Grundsätzlich hätte ich ja gesagt</p>
<pre><code class="language-cpp">int main (char string[], char kennzeichen)
{
 ...
}
</code></pre>
<p>Aber wenn ich sowas in meinen Code einfüge, dann wird die main() noch nicht mal ausgeführt. Die Anwendung macht schön brav alles, was im Konstruktor und in den nachfolgend aufgerufenen Funktionen steht, aber die main() interessiert sie mal gar nicht.<br />
Sie von irgendwo aufzurufen kann ja eigentlich auch nicht klappen, denn das wäre ja schon viel zu spät, die Argumente müssen ja beim Programmstart entgegen genommen werden und nicht irgendwann während der Laufzeit.</p>
<p>Kann es evtl. sein, dass ich diesen Teil</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
</code></pre>
<p>erweitern muss? Schließlich ist das doch das allererste was abgearbeitet wird, wenn die Anwendung gestartet wird. Damit müßte doch dieser Teil auch die Argumente entgegen nehmen, oder?<br />
Falls dem so sein sollte, habe ich aber ehrlich gesagt keine Ahnung, wie ich diese zwei Zeilen ergänzen soll, damit er mir die beiden Argumente (1. Argument ist ein String, zweites ein einzelnes Character) beim Start auch entgegennimmt.</p>
<p>Kann mir vielleicht bitte einer helfen?</p>
<p>Oder falls ich komplett auf dem Holzweg sein sollte, mir den richtigen Weg weisen?</p>
<p>Vielen lieben Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1382387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1382387</guid><dc:creator><![CDATA[W.Stecher]]></dc:creator><pubDate>Wed, 10 Oct 2007 20:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Meine Anwendung soll beim Start übergebene Argumente annehmen on Wed, 10 Oct 2007 20:12:56 GMT]]></title><description><![CDATA[<p>aufrufender code</p>
<pre><code class="language-cpp">ShellExecute(0,&quot;open&quot;,&quot;deinProgramm.exe&quot;,&quot;Argument&quot;,0,SW_SHOWNORMAL);
</code></pre>
<p>aufgerufenes Programm</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   if(ParamStr(1) == &quot;Argument&quot;){
       //do Something
   }
}
</code></pre>
<p>oder <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39256.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39256.html</a></p>
<p>Gruß Sascha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1382393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1382393</guid><dc:creator><![CDATA[Sascha_Thiel]]></dc:creator><pubDate>Wed, 10 Oct 2007 20:12:56 GMT</pubDate></item><item><title><![CDATA[Reply to Meine Anwendung soll beim Start übergebene Argumente annehmen on Wed, 10 Oct 2007 20:28:44 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort.</p>
<p>Gestatte bitte die Rückfrage, aber verstehe ich Dich richtig, dass ich nirgends deklarieren muss, dass die Anwendung Argumente (und wieviele) entgegennimmt?</p>
<p>Wenn</p>
<pre><code class="language-cpp">if(ParamStr(1) == &quot;Argument&quot;)
{
   //do Something
}
</code></pre>
<p>ausreicht, heißt das, wenn ich beim Programmaufruf zwei Argumente übergebe, dann kann ich automatisch mit ParamStr(1) auf das erste und mit ParamStr(2) auf das zweite zugreifen?</p>
<p>Das wäre ja einfacher als ich dachte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1382402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1382402</guid><dc:creator><![CDATA[W.Stecher]]></dc:creator><pubDate>Wed, 10 Oct 2007 20:28:44 GMT</pubDate></item><item><title><![CDATA[Reply to Meine Anwendung soll beim Start übergebene Argumente annehmen on Wed, 10 Oct 2007 20:48:04 GMT]]></title><description><![CDATA[<p>jap, wichtig ist nur die trennung der Argumente mit &quot;space&quot;</p>
<pre><code class="language-cpp">ShellExecute(0,&quot;open&quot;,&quot;deinProgramm.exe&quot;,&quot;Argument1 Argument2&quot;,0,SW_SHOWNORMAL);
</code></pre>
<p>aufgerufenes Programm</p>
<pre><code class="language-cpp">__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
   if(ParamStr(1) == &quot;Argument1&quot;){
       //do something
   }
   if(ParamStr(2) == &quot;Argument2&quot;){
       // do something other
   }
}
</code></pre>
<p>Gruß Sascha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1382417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1382417</guid><dc:creator><![CDATA[Sascha_Thiel]]></dc:creator><pubDate>Wed, 10 Oct 2007 20:48:04 GMT</pubDate></item><item><title><![CDATA[Reply to Meine Anwendung soll beim Start übergebene Argumente annehmen on Thu, 11 Oct 2007 07:38:44 GMT]]></title><description><![CDATA[<p>Zur Vertiefung des Themas solltest Du in der BCB-Hilfe mal 'WinMain' eingeben. Dort erfährst Du, wie die Paramter ins Programm gelangen.</p>
<p>Es gibt auch noch die Methode ParamCount(), um die Anszahl der übergebenen Parameter abzufragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1382567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1382567</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 11 Oct 2007 07:38:44 GMT</pubDate></item><item><title><![CDATA[Reply to Meine Anwendung soll beim Start übergebene Argumente annehmen on Thu, 11 Oct 2007 20:31:03 GMT]]></title><description><![CDATA[<p>Joe_M. schrieb:</p>
<blockquote>
<p>Zur Vertiefung des Themas solltest Du in der BCB-Hilfe mal 'WinMain' eingeben. Dort erfährst Du, wie die Paramter ins Programm gelangen.</p>
<p>Es gibt auch noch die Methode ParamCount(), um die Anszahl der übergebenen Parameter abzufragen.</p>
</blockquote>
<p>Danke, werde ich bei Gelegenheit mal machen.<br />
Dann kann man sich ja was tiefer einarbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1383233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1383233</guid><dc:creator><![CDATA[W.Stecher]]></dc:creator><pubDate>Thu, 11 Oct 2007 20:31:03 GMT</pubDate></item></channel></rss>