Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#2

Re: shell in einem thread starten, schlägt fehl

  Alt 28. Nov 2007, 19:12
Erstens: Wo tritt der Fehler auf? (praktisch, wenn sowas mit erwähnt würde)
Ok, ich weiß schon Sleep, aber weißt du auch warum?

Wärend Sleep wird der erstellte Thread ausgeführt und dort schlägt der Aufruf von CreateProcess fehl (liegt bestimmt an deinen "komischen" Parametern).

Leg mal einen Haltepunkt auf den Beginn deiner Treadprozedur und schau was passiert.

Dann wäre es gut, wenn du deiner Threadprozdur richtig defnierst
siehe MSDN > ThreadProc


zur StartupInfo (SI), was soll hSocket:=PInteger(99); darstellen?
hmm 127.0.0.1 99, aber ob das so richtig ist


[add]
... := hSocket^; ist auch nicht soooo korrekt.

versuch doch für den Anfang erstmal einen direkten Aufruf, dann läßt es sich leicher Debuggen
und plötlich fällt och der hSocket^-Fehler auf.
Delphi-Quellcode:
function CreateShell(lpParameter: LongWord): LongWord; StdCall;
var...

begin
  ...
end;


begin
  //CreateThread(nil, 0, @CreateShell, nil, 0, shellThreadID);
  CreateShell(0);

  //auf quit warten
  repeat
    //sleep(100);
    ReadLn(str);
  until str = 'quit';
end.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat