Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Laden des Programmes fehlerhaft (https://www.delphipraxis.net/17704-laden-des-programmes-fehlerhaft.html)

Neutral General 8. Mär 2004 19:13


Laden des Programmes fehlerhaft
 
Ich habe ein Problem !
Wenn ich ein Programm so starte :

Delphi-Quellcode:
ShellExecute(0, Nil, PChar('Programm.exe'), Nil, Nil, SW_NORMAL);
ist alles ok ! Aber so:

Delphi-Quellcode:
Pfad := Label1.Caption;
ShellExecute(0, Nil, PChar(Pfad+'Programm.exe'), Nil, Nil, SW_NORMAL);
funktioniert das Programm nicht richtig !

fkerber 8. Mär 2004 19:14

Re: Laden des Programmes fehlerhaft
 
Hi!

Was heißt das Programm funktioniert nicht richtig?
Lässt es sich aufrufen?
Was kommen für Fehler?

Ciao fkerber

mirage228 8. Mär 2004 19:18

Re: Laden des Programmes fehlerhaft
 
Versuchs mal so:

Delphi-Quellcode:
Pfad := IncludeTrailingBackslash(Label1.Caption);
ShellExecute(0, Nil, PChar(Pfad+'Programm.exe'), Nil, Nil, SW_NORMAL);
mfG
mirage228

Neutral General 9. Mär 2004 17:28

Re: Laden des Programmes fehlerhaft
 
Das Programm funktioniert nicht richtig heißt, dass es die Bilder etc aus dem Verzeichnis nimmt in dem das Programm ist das das andere Programm starten soll und es die dort natürlich nicht findet !
Ich hab das Problem aber gelöst ! Ich habe das Verzeichnis so geändert und dann klaptt es :

Delphi-Quellcode:
ChDir(Pfad);
ShellExecute(0, Nil, PChar('Programm.exe'), Nil, Nil, SW_NORMAL);

APP 9. Mär 2004 18:18

Re: Laden des Programmes fehlerhaft
 
Hallo General,
dann ist es offensichtlich so, dass Dein 'Programm.exe'
als Parameter noch ein Verzeichnis, in welchem es ausgeführt
werden soll, benötigt (dafür ist der vorletzte Parameter im
ShellExecute zuständig):

Delphi-Quellcode:
ShellExecute(
  0,
  Nil,
  PChar('c:\Voller Pfad\Programm.exe'), // Empfehle immer volle Pfadangabe, ohne Pfad funktionieren nur Prog. die im PATH stehen
  Nil,
  pChar('Das Verzeichnis in dem das Programm laufen soll', // 'Default Directory'
  SW_NORMAL
);
Das setzen des Pfades mit ChDir() ist nicht die feine Englische,
dabei könnten andere Programme ausser Tritt kommen, wenn Du den
Pfad verbiegst.

Luckie 9. Mär 2004 18:21

Re: Laden des Programmes fehlerhaft
 
Ist das zu startende Programm auch von dir? dann gib mal absolute Pfade an und keine relativen.

zecke 9. Mär 2004 19:19

Re: Laden des Programmes fehlerhaft
 
ich hatte auch mal probs mit shellexecute hab dann winexec o.ä. verwendet - aber ich weiß nicht ob es unbedingt shellexecute sein soll

Luckie 9. Mär 2004 19:36

Re: Laden des Programmes fehlerhaft
 
Doch sollte es, da WinExec schon lange von Microsoft als obsolte gekennzeichnet ist und nur noch zur Abwärtskompatibilität zu 16-Bit Programmen unterstützt wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz