Wieso ist das so kompliziert?
Delphi-Quellcode:
unit LogListBox;
interface
uses
SysUtils, Classes, Controls, StdCtrls, Dialogs;
type
TLogListBox =
class(TListBox)
private
{ Private-Deklarationen }
fLogFileName :
String;
protected
{ Protected-Deklarationen }
procedure WriteLn(Item :
String);
public
{ Public-Deklarationen }
function Add(Item:
string): Integer;
procedure AddItem(Item:
String; AObject: TObject);
override;
published
{ Published-Deklarationen }
property LogFileName :
String read fLogFileName
write fLogFileName;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('
Samples', [TLogListBox]);
end;
procedure TLogListBox.WriteLn(Item :
String);
begin
// Hier kommt die Implementierung für das Schreiben in die Datei fLogFileName hin.
ShowMessage(Item);
end;
procedure TLogListBox.AddItem(Item:
String; AObject: TObject);
begin
inherited AddItem(Item, AObject);
WriteLn(Item);
end;
function TLogListBox.Add(Item:
String) : Integer;
begin
AddItem(Item,
nil);
Result := Items.Count;
end;
end.
Mit meinem Delphi 7 funktioniert das.
Aufrufmöglichkeiten:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
LogListBox1.AddItem('** AddItem **',nil);
LogListBox1.Add('** Add **');
end;