Also, wenn du
Indy 10 entpackst, dann hat dieses ja verschiedene Unterordner. Die Ordner Core, Protocols, Security, SuperCore und System habe ich in den Bibliothekspfad aufgenommen. Ob man die immer alle braucht, weiß ich nicht, jedenfalls funktioniert es so.
Wichtig ist, dass der alte Pfad im Delphiverzeichnis nicht mehr im Pfad ist.
Im Code sieht das dann so aus (inkl. SSL und Cookies):
Delphi-Quellcode:
uses
IdHttp, IdSSLOpenSSLHeaders, IdSSLOpenSSL, IdCookieManager;
procedure TFormX.ButtonXClick(Sender: TObject);
var
IdHttpLoader: TIdHttp;
SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
CookieManager: TIdCookieManager;
begin
IdSSLOpenSSLHeaders.Load;
SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create;
try
CookieManager := TIdCookieManager.Create;
try
IdHttpLoader := TIdHttp.Create;
try
IdHttpLoader.CookieManager := CookieManager;
IdHttpLoader.IOHandler := SSLIOHandler;
...
Und im Verzeichnis der Exe befinden sich die libeay32.dll und die ssleay32.dll, weiter nix.
// EDIT:
Bei dir ist ja die Erzeugung der Objekte separat, du musst da statt deinem TIdSSLIOHandlerSocket ein TIdSSLIOHandlerSocketOpenSSL Objekt erstellen. Weil es ja um OpenSSL geht. Ob man das IdSSLOpenSSLHeaders.Load und hinterher das IdSSLOpenSSLHeaders.Unload braucht (oder ob es automatisch auch geht), weiß ich gerade nicht mehr.