Hallo!
Sorry für die späte Reaktion, war aber drei Tage offline.
Ich glaube ich muss es mal genauer erläutern. Mein Problem ist bei der Entwicklung einer Komponente aufgetreten, die mir alle Eigenschaften eines PC für die Internet Verbindungen bündeln soll. Dazu gibt es den Ansatz einer Basisklasse, die die Einstellungen aufnimmt und von Unterklassen für die jeweiligen Browser-Typen. Bei der Entwicklung der IE Komponente, trat dann mein Problem auf. Doch nun zu der Frage.
Die Funktion SetProxyInfoString() ist von mir definiert worden um die Einstellungen zusammenzustellen die die Funktion InternetSetOption() in der wininet.dll benötigt. Laut der
MSDN-Seite zu
InternetQuerryOption soll InternetSetOption mit den selben Parametern versorgt werden, wie die Funktion InternetQuery Option, um das zurückschreiben der Einstellungen vorzunehmen.
Der Quellcode könnte wahrscheinlich so aussehen :
Delphi-Quellcode:
uses WinInet;
procedure SetProxyInfoString(ProxyInfo:PInternetProxyInfo);
begin
// nur mal als Beispiel
ProxyInfo:= '
http:\\192.168.20.100:8080';
end;
function SetInternetSettings: boolean
var ProxyInfo: PInternetProxyInfo;
Len: LongWord;
begin
Len:= MAX_CACHE_ENTRY_INFO_SIZE; GetMem(ProxyInfo, Len);
//-- Eintragen der Proxy Einstellungen (http, ftp etc.)
SetProxyInfoString(ProxyInfo);
try
//-- Das Problem ist wahrscheinlich in der ProxyInfo Variablen zu suchen
Result:= InternetSetOption(
nil, INTERNET_OPTION_PROXY, ProxyInfo, Len)
finally
FreeMem(ProxyInfo);
end;
Doch nun schlägt der Bug voll zu und gibt besagte Fehlermeldung zurück.
Was ist das Problem?
Human are Human to make mistakes.