Zitat von
Apollonius:
Ich glaube, da verwechselst du was, Sir T. Meiner Meinung nach wäre das in C
Code:
*pdwProxyRequests+ = LINEPROXYREQUEST_SETAGENTGROUP;
Die Variante mit dem doppelten Plus würde ich folgendermaßen übersetzen:
Delphi-Quellcode:
pdwProxyRequests^ = LINEPROXYREQUEST_SETAGENTGROUP;
inc(pdwProxyRequests);
Denn: Ein einfaches pdwProxyRequests++ hieße inc(pdwProxyRequests). Eine Zuweisung, auch eine solche einfache, gibt in C etwas zurück, in diesem Fall, da das ++ nachgestellt wird, den ursprünglichen Wert. Dieser wird dereferenziert und ihm etwas zugewiesen. Ich halte dies auch für logisch: Der Zeiger pdwProxyRequests wird hinter die Struktur gesetzt und dorthin dann DWords gesetzt, wie es auch der Kommentar sagt.
Das war der entscheidende Hinweis
so funktionierts jetzt:
Delphi-Quellcode:
pdwProxyRequests:= PDWORD(Cardinal(pLCP) + sizeof(TLINECALLPARAMS));
pdwProxyRequests^ := LINEPROXYREQUEST_SETAGENTGROUP;
inc(pdwProxyRequests);
pdwProxyRequests^ := LINEPROXYREQUEST_SETAGENTSTATE;
inc(pdwProxyRequests);
pdwProxyRequests^ := LINEPROXYREQUEST_SETAGENTACTIVITY;
inc(pdwProxyRequests);
pdwProxyRequests^ := LINEPROXYREQUEST_GETAGENTSTATUS;
inc(pdwProxyRequests);
pdwProxyRequests^ := LINEPROXYREQUEST_GETAGENTCAPS;
inc(pdwProxyRequests);
pdwProxyRequests^ := LINEPROXYREQUEST_GETAGENTACTIVITYLIST;
inc(pdwProxyRequests);
pdwProxyRequests^ := LINEPROXYREQUEST_GETAGENTGROUPLIST;
Vielen Dank für die schnelle Hilfe.
Gruß
Alidi