Thema: Delphi Problem mit Shellexecute

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: Problem mit Shellexecute

  Alt 28. Okt 2008, 19:28
Hi,

so tut dat ...
Delphi-Quellcode:
procedure Test( const RunProg : string );
var
  Pfad : string;
  Prog : string;
begin
  Prog := RunProg;
  Pfad := ExtractFilePath( Prog );
  ShellExecute(
    0, 'open',
    PAnsiChar( Prog ), nil,
    PAnsiChar( Pfad ),
    SW_SHOWNORMAL );
end;
Warum geht dein Versuch nicht ...
PChar(ExtractFilePath(Application.ExeName)) soll einen Zeiger (Pointer) auf einen Speicherbereich bringen, wo sich ein nullterminierte Zeichenkette befindet.
ExtractFilePath(Application.ExeName) ist aber nun mal sehr kurzlebig, weil ja nicht gesagt wird, dass das auch gespeichert werden soll.
Also alles zusammentragen und in einer Variablen speichern und dann mit PChar (bzw. die korrekte Deklaration ist ein PAnsiChar) den Zeiger auf die Variable holen und übergeben.
(bitte jetzt mal einen Pointer-Meister an die Front, bevor ich hier Müll erzähle, aber ich stelle mir das genau so vor)

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat