![]() |
Wie bekomme ich ergebniss aus Curl zurück (D6)
Ich muss eine https:// adresse (für REST) zugehen, und meiner etwas ältere D6 version kann das nicht.
Ich traue mich jetzt nicht auf Indy10 umzustellen, um nicht irgendwas zu zerstören. Curl kann das, und ich kann auch problemlos Curl abrufen. Ich will aber gern die Statuscodes von Curl zurückhaben, also diese: ![]() Wenn ich aber mit ShellExecute Curl starte, bekomme ich immer "42" ("alles iO"). Heißt das aber nicht nur, das Delphi Curl erfolgreich startet, aber was Curl dann macht ist Delphi unbekannt. Dann kann ich ablesen ob zB ich ein Falsches Parameter setze. EDIT Ich habe eine Beispiel gefunden, bei eine Frage über 7Zip:
Code:
function RunProcess(FileName: string; ShowCmd: DWORD; wait: Boolean; ProcID:
PDWORD): Longword; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar(StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; StartupInfo.wShowWindow := ShowCmd; if not CreateProcess( nil, @Filename[1], nil, nil, False, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then Result := WAIT_FAILED else begin if wait = FALSE then begin if ProcID <> nil then ProcID^ := ProcessInfo.dwProcessId; result := WAIT_FAILED; exit; end; WaitForSingleObject(ProcessInfo.hProcess, 3000); GetExitCodeProcess(ProcessInfo.hProcess, Result); // <<< here is where exit code is returned end; if ProcessInfo.hProcess <> 0 then CloseHandle(ProcessInfo.hProcess); if ProcessInfo.hThread <> 0 then CloseHandle(ProcessInfo.hThread); end; Und wie ich das benutze:
Code:
rc2 := RunProcess('c:\utility\CURL\curl.exe' +
' ' + edtParameters.Text , SW_HIDE, TRUE, @ProcID); |
AW: Wie bekomme ich ergebniss aus Curl zurück (D6)
Versuch es doch mal mit dem RestDebugger.
![]() ![]() Damit kann man Testen und sich die Komponenten konfigurieren lassen. |
AW: Wie bekomme ich ergebniss aus Curl zurück (D6)
Zitat:
Im Projekt, das Indy verwendet, muss man dem Projekt-Suchpfad die Indy-Verzeichnisse Core, Protocols und System hinzufügen. Dann verwendet es die neue Version. |
AW: Wie bekomme ich ergebniss aus Curl zurück (D6)
Ich kenne die Indy Sourcen jetzt nicht auswendig, aber ich könnte mir vorstellen, dass dort Dinge drin sind die unter Delphi 6 nicht mehr funktionieren, oder? Auf der Indy Website habe ich jetzt keine Info gefunden, dass es auch noch für Delphi 6 installiert werden kann.
Einen Versuch ist es natürlich trotzdem wert. |
AW: Wie bekomme ich ergebniss aus Curl zurück (D6)
Wenn man sich die Mühe macht und mal in das LIB-Verzeichnis der Indys schaut, findet man für jede noch unterstützte Delphi- bzw. C++-Version eine Batchdatei zur Installation.
![]() Danach wird Delphi ab Version 5 unterstützt. |
AW: Wie bekomme ich ergebniss aus Curl zurück (D6)
Ja ich weiß, jetzt komme ich wieder mit der nervigen Frage ob man nicht doch Mal auf eine neuere Delphi Version wechseln könnte...
Woran scheitert das? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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