Hallo,
der Rückgabewert Deiner Funktion ist nicht immer definiert, daher fehlt Dir die Möglichkeit, zwischen unterschiedlichen Fehlern zu unterscheiden. (Okay, sehe gerade, Du hast die Funktion hier aus dem Forum (
post7494.html#7494))
Lass Dir mal die letzte Fehlermeldung mit
ShowMessage(SysErrorMessage(GetLastError));
ausgeben. Dazu änderst Du die Funktion von
Delphi-Quellcode:
then
Result := WAIT_FAILED
in
Delphi-Quellcode:
then
begin
Result := WAIT_FAILED;
ShowMessage(SysErrorMessage(GetLastError));
end;
Eine mögliche Fehlerursache könnten die von Dir benutzten Pfade sein, da sie Leerzeichen enthalten. Bitte setze die Pfadangaben mal in doppelte Hochkommata.
Delphi-Quellcode:
...
sExecuteLine := sCryptApp + ' ' + sConfwareXmlFile;
// sConfwareXmlFile = "D:\Dokumente und Einstellungen\user\Lokale Einstellungen\Anwendungsdaten\XIL_TOOL\1708-482405-001_V.xml"
// sCryptApp = "D:\Dokumente und Einstellungen\user\Lokale Einstellungen\Anwendungsdaten\XIL_TOOL\Xil_Tool_Crypter.exe"
lwResult := RunProcess(sExecuteLine, SW_MAXIMIZE, TRUE, @ProcID);
...