Erinnert mich immer daran was ich früher für blöde Fragen gestellt habe
So leitest du dir eine eigene Klasse von TIdHTTP ab. Am besten du erstellst dir dafür auch eine neue
Unit, dann wird das übersichtlicher.
Delphi-Quellcode:
type
// hier vielleicht noch andere Klassendefinitionen
TMyIdHTTP = class(TIdHTTP)
private
procedure WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64);
public
constructor Create();
end;
// ...
constructor TMyIdHTTP.Create;
begin
inherited Create(nil); // rufe den alten Konstruktor auf
OnWorkBegin := WorkBegin; // weise das Event zu
end;
procedure TMyIdHTTP.WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Int64);
begin
ShowMessage('test');
end;
Nun kannst du z.b. in deinem Hauptformular mit dieser Klasse arbeiten:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
MyIdHTTP: TMyIdHTTP;
begin
MyIdHTTP := TMyIdHTTP.Create;
try
//Lade hier was runter
finally
MyIdHTTP.Free;
end;
end;
Wie du siehst arbeitest du nun nicht mehr direkt mit der TIdHTTP-Klasse sondern nur mit deiner eigenen "abgeleiteten".