<?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[externes Programm starten mit Parameter]]></title><description><![CDATA[<p>hei,<br />
Ich starte aus meiner MDI Anwendung (Child-Form) ein externes Programm.<br />
Das externe Programm liegt im gleichen Verzeichnis. Die Datei, die mit dem externen Programm geöffnet werden soll, liegt ein Verzeichnis tiefer. Leider funktioniert dies nicht. Die Wege sind korrekt. Ist aber die Datei im gleichem Verzeichnis, funktioniert es.</p>
<p>MDI Anwendung:</p>
<pre><code class="language-cpp">void __fastcall TMain::tbRumSimClick(TObject *Sender)
{
AnsiString SourceName;
AnsiString ProjektName;
  //aktive mdi child
  TTextStuff *Active = (TTextStuff*)this-&gt;ActiveMDIChild;
  if(Active-&gt;Project.HasName) 
  {
    ProjektName = ExtractFilePath(Application-&gt;ExeName) + &quot;EasySimulation.exe&quot;;
    SourceName  = Active-&gt;Project.CurrentFile;
    RunApplication(ProjektName.c_str(), SourceName.c_str());
  }
  else  //
  {
  //FEHLER
  }
}
//---------------------------------------------------------------------------
</code></pre>
<p>Run Application:</p>
<pre><code class="language-cpp">void __fastcall TMain::RunApplication(LPCTSTR FileName, LPCTSTR FileParam)
{
int ret = (int) ShellExecute(0, &quot;open&quot;, FileName, FileParam, 0, SW_SHOWNORMAL);

if (ret &lt;= 32)
{
AnsiString msg;

switch(ret)
{
case ERROR_FILE_NOT_FOUND, SE_ERR_FNF :
msg = &quot;Die angegebene Datei '&quot; + AnsiString(FileName) + &quot;' wurde nicht gefunden!&quot;;
break;

case ERROR_PATH_NOT_FOUND, SE_ERR_PNF :
msg = &quot;Der Pfad zur Datei '&quot; + AnsiString(FileName) + &quot;' wurde nicht gefunden!&quot;;
break; 

case ERROR_BAD_FORMAT : 
msg = &quot;Die aufgerufene Anwendung ist ungültig oder beschädigt!&quot;;
break; 

case SE_ERR_ACCESSDENIED, SE_ERR_SHARE : 
msg = &quot;Der Zugriff auf die Datei '&quot; + AnsiString(FileName) + &quot;' wurde vom Betriebssystem verweigert!&quot;;
break; 

case SE_ERR_ASSOCINCOMPLETE, SE_ERR_NOASSOC : 
msg = &quot;Der angegebene Dateityp ist auf Ihrem Computer keiner Anwendung zugeordnet!&quot;;
break;

case 0, SE_ERR_OOM : 
msg = &quot;Zum Ausführen der Anwendung ist nicht genügend Arbeitsspeicher frei!&quot;;
break; 

default : msg = &quot;Datei '&quot; + AnsiString(FileName) + &quot;' konnte nicht geöffnet werden!&quot;; 
}

Application-&gt;MessageBox(msg.c_str(), &quot;Fehler&quot;, MB_OK + MB_ICONERROR);
}
}
//---------------------------------------------------------------------------
</code></pre>
<p>externes Programm:</p>
<pre><code class="language-cpp">void __fastcall TForm1::FormShow(TObject *Sender)
{
  AnsiString fileName, ext;

  if (ParamCount() &gt; 0)         // if parameters are present
  {
    fileName = ParamStr(1);     // get file name to open
    ext = ExtractFileExt(fileName.UpperCase());     // get file extension

    if (FileExists(fileName) &amp;&amp; ext == &quot;.S68&quot;) {
      OpenDialog1-&gt;FileName = fileName;         // save for reload
      OpenFile(fileName);       // open specified file
    }
  }

  Form1-&gt;Caption = TITLE;       // set title

  Log-&gt;LoadSettings();         //load simulator settings from file
  initSim();                    // don't call before LoadSettings()
}
//---------------------------------------------------------------------------
</code></pre>
<p>was mach ich falsch ?<br />
bis bald dieleena</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163703/externes-programm-starten-mit-parameter</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 03:49:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163703.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Nov 2006 08:35:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 08:35:38 GMT]]></title><description><![CDATA[<p>hei,<br />
Ich starte aus meiner MDI Anwendung (Child-Form) ein externes Programm.<br />
Das externe Programm liegt im gleichen Verzeichnis. Die Datei, die mit dem externen Programm geöffnet werden soll, liegt ein Verzeichnis tiefer. Leider funktioniert dies nicht. Die Wege sind korrekt. Ist aber die Datei im gleichem Verzeichnis, funktioniert es.</p>
<p>MDI Anwendung:</p>
<pre><code class="language-cpp">void __fastcall TMain::tbRumSimClick(TObject *Sender)
{
AnsiString SourceName;
AnsiString ProjektName;
  //aktive mdi child
  TTextStuff *Active = (TTextStuff*)this-&gt;ActiveMDIChild;
  if(Active-&gt;Project.HasName) 
  {
    ProjektName = ExtractFilePath(Application-&gt;ExeName) + &quot;EasySimulation.exe&quot;;
    SourceName  = Active-&gt;Project.CurrentFile;
    RunApplication(ProjektName.c_str(), SourceName.c_str());
  }
  else  //
  {
  //FEHLER
  }
}
//---------------------------------------------------------------------------
</code></pre>
<p>Run Application:</p>
<pre><code class="language-cpp">void __fastcall TMain::RunApplication(LPCTSTR FileName, LPCTSTR FileParam)
{
int ret = (int) ShellExecute(0, &quot;open&quot;, FileName, FileParam, 0, SW_SHOWNORMAL);

if (ret &lt;= 32)
{
AnsiString msg;

switch(ret)
{
case ERROR_FILE_NOT_FOUND, SE_ERR_FNF :
msg = &quot;Die angegebene Datei '&quot; + AnsiString(FileName) + &quot;' wurde nicht gefunden!&quot;;
break;

case ERROR_PATH_NOT_FOUND, SE_ERR_PNF :
msg = &quot;Der Pfad zur Datei '&quot; + AnsiString(FileName) + &quot;' wurde nicht gefunden!&quot;;
break; 

case ERROR_BAD_FORMAT : 
msg = &quot;Die aufgerufene Anwendung ist ungültig oder beschädigt!&quot;;
break; 

case SE_ERR_ACCESSDENIED, SE_ERR_SHARE : 
msg = &quot;Der Zugriff auf die Datei '&quot; + AnsiString(FileName) + &quot;' wurde vom Betriebssystem verweigert!&quot;;
break; 

case SE_ERR_ASSOCINCOMPLETE, SE_ERR_NOASSOC : 
msg = &quot;Der angegebene Dateityp ist auf Ihrem Computer keiner Anwendung zugeordnet!&quot;;
break;

case 0, SE_ERR_OOM : 
msg = &quot;Zum Ausführen der Anwendung ist nicht genügend Arbeitsspeicher frei!&quot;;
break; 

default : msg = &quot;Datei '&quot; + AnsiString(FileName) + &quot;' konnte nicht geöffnet werden!&quot;; 
}

Application-&gt;MessageBox(msg.c_str(), &quot;Fehler&quot;, MB_OK + MB_ICONERROR);
}
}
//---------------------------------------------------------------------------
</code></pre>
<p>externes Programm:</p>
<pre><code class="language-cpp">void __fastcall TForm1::FormShow(TObject *Sender)
{
  AnsiString fileName, ext;

  if (ParamCount() &gt; 0)         // if parameters are present
  {
    fileName = ParamStr(1);     // get file name to open
    ext = ExtractFileExt(fileName.UpperCase());     // get file extension

    if (FileExists(fileName) &amp;&amp; ext == &quot;.S68&quot;) {
      OpenDialog1-&gt;FileName = fileName;         // save for reload
      OpenFile(fileName);       // open specified file
    }
  }

  Form1-&gt;Caption = TITLE;       // set title

  Log-&gt;LoadSettings();         //load simulator settings from file
  initSim();                    // don't call before LoadSettings()
}
//---------------------------------------------------------------------------
</code></pre>
<p>was mach ich falsch ?<br />
bis bald dieleena</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165953</guid><dc:creator><![CDATA[dieleena]]></dc:creator><pubDate>Wed, 01 Nov 2006 08:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 08:43:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Was steht denn in SourceName? Ist es der richtige Pfad? Ich nehme einfach mal an, dass da nur der Dateiname drinsteht. Verwende dann besser den kompletten (absoluten) Pfad.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165959</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 01 Nov 2006 08:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 09:01:10 GMT]]></title><description><![CDATA[<p>hei,<br />
sowohl in ProjektName als auch in SourceName steht der komplette (absoluten) Pfad.<br />
in ProjektName steht: E:\\Borland\\Projekt\\Haupt.exe<br />
in SourceName steht: E:\\Borland\\Projekt\\Examples\\xyz.txt<br />
die &quot; \\ &quot; sind auch korrekt.<br />
bis bald dieleena</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165968</guid><dc:creator><![CDATA[dieleena]]></dc:creator><pubDate>Wed, 01 Nov 2006 09:01:10 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 09:10:21 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du hast doch schon die Fehlerauswertung, warum postest du nicht welche Fehlermeldung beim Ablauf auftritt? &quot;funktioniert nicht&quot; ist keine ausreichende Fehlerbeschreibung.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165971</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 01 Nov 2006 09:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 09:14:23 GMT]]></title><description><![CDATA[<p>Das sollte dann so auch gehen. Debugge doch mal das aufzurufende Programm (wenn möglich) und schau mal was dort für ein Pfad ankommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165975</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 01 Nov 2006 09:14:23 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 09:29:04 GMT]]></title><description><![CDATA[<p>hei,<br />
eine &quot; Fehlermeldung beim Ablauf auftritt &quot; erscheint ja nicht. Das externe Programm wird ja gestartet, aber die öffnet nicht die Datei &quot; E:\\Borland\\Projekt\\Examples\\xyz.txt &quot;.<br />
Wenn ich das externe Programm mit diesen Parameter starte, funktioniert es doch.<br />
ProjektName steht: E:\\Borland\\Projekt\\Haupt.exe<br />
SourceName steht: E:\\Borland\\Projekt\\xyz.txt<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1387">@Braunstein</a> Frage: wie debug ich das extenes Programm? Ich starte doch hier eine andere exe.<br />
Das externe Programm arbeitet doch korrekt, wenn exe und txt im gleichem Verzeichnis sind.<br />
bis bald dieleena</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165987</guid><dc:creator><![CDATA[dieleena]]></dc:creator><pubDate>Wed, 01 Nov 2006 09:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 09:37:48 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dann schau doch mal, was bei dem Zielprogramm an Parametern ankommt (Messagebox, Logdatei)</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165998</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 01 Nov 2006 09:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to externes Programm starten mit Parameter on Wed, 01 Nov 2006 10:14:51 GMT]]></title><description><![CDATA[<p>hei,<br />
Habe deinen Rat befolgt. Fehler von mir. Falsche Übergabe des Dateiname. Nichts für ungut. Sollte eine Pause einlegen.<br />
Danke an alle.<br />
bis bald dieleena</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166031</guid><dc:creator><![CDATA[dieleena]]></dc:creator><pubDate>Wed, 01 Nov 2006 10:14:51 GMT</pubDate></item></channel></rss>