Entwickler-Ecke

Windows API - Anderes Programm aufrufen


Lucky - Fr 09.02.07 09:57
Titel: Anderes Programm aufrufen
Hallo,
hätte da ne Frage nämlich ich ruf von einem Programm ein anderes auf u. möchte nun dabei eine Variable übergeben wie mache ich das? Vielen Dank schon mal.
Hab bis jetzt
ShellExecute(Application.Handle,'Open','Lagerverwaltung.exe ','Computername','\\sqlsrv\srvdsk\EDV\Lagerverwaltung\',
sw_show);
und der computername müsste ne variable sein, soll also z.B. EDVTEST drinnen stehen
Bitte helft mir


Moderiert von user profile iconGausi: Topic aus Sonstiges (Delphi) verschoben am Fr 09.02.2007 um 10:23


jasocul - Fr 09.02.07 10:09

Du übergibst das als Parameter und das Programm muss dann natürlich in der Lage sein, diesen Parameter auszuwerten. Wenn "Lagerverwaltung.exe" von Dir ist, musst Du das ein wenig anpassen. Siehe dazu in der Delphi-Hilfe unter "ParamStr", wenn ich mich richtig erinnere.


Lucky - Fr 09.02.07 11:05

Ja die Übergabe funktioniert aber wie mache ich das er bei shellexecute ne variable übergibt u. nicht den String Computername?
In der Hilfe steht leider nichts nützliches drinnen


basti_1984 - Fr 09.02.07 11:11

Hallo so müsste s eingentzlich funktionieren:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var 
 test:String;
begin
test:='Irgendetwas';
ShellExecute(Application.Handle,'Open','Lagerverwaltung.exe ',test,'\\sqlsrv\srvdsk\EDV\Lagerverwaltung\',
sw_show);


Lucky - Fr 09.02.07 11:16

Ne hab ich auch schon probiert da bringt er den Fehler:
[Fehler] Kennwort.pas(123): Inkompatible Typen: 'String' und 'PAnsiChar'


Gausi - Fr 09.02.07 11:18

Na, dann eben so ;-):

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var 
 test:String;
begin
test:='Irgendetwas';
ShellExecute(Application.Handle,'Open','Lagerverwaltung.exe ',PChar(test),'\\sqlsrv\srvdsk\EDV\Lagerverwaltung\',
sw_show);


Lucky - Fr 09.02.07 11:21

Ja jetzt klaptts vielen Dank, *mist*e da hätte ich selber drauf kommen müssen. Nochmals vielen vielen Dank