ich habe ein Ereignis Definiert wie immer, aber heute meint der Complier folgende Fehler Meldung rauß zu geben müssen:
ich habe das Ereignis zu verwendet:Unit1.pas(93,19) Error: Incompatible types: got "" expected ""
Code: Alles auswählen
TonDraw = procedure (var tCanvas:TCanvas;status:Integer);
TmyCompo = class
protected
public
onMouseEv:TonMouseEv;
onKeyEv:TonKeyEv;
onFocus:TonFocus;
onDraw:TonDraw;
onHint:TonHint;
fcanvas: TCanvas;
// Wenn irgendein Mausereignis auftrit
TForm1 = class(TForm)
PaintBox1: TPaintBox;
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: char);
procedure FormMouseDown(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X,Y: Integer);
procedure PaintBox1MouseDown(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X,Y: Integer);
procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure PaintBox1MouseUp(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X,Y: Integer);
procedure PaintBox1Paint(Sender: TObject);
private
{ private declarations }
public
[B]// hier ist das Ereignis[/B]
procedure Draw(var tCanvas:TCanvas;status:Integer);
{ public declarations }
end;
procedure TForm1.Draw(var tCanvas:TCanvas;status:Integer);
begin
PaintBox1Paint(self);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
begin
Listbox:=TmyListbox.Create;
Listbox.x:=200; Listbox.y:=200;Listbox.w:=100;Listbox.h:=100;
buffer:=TBitMap.Create;
buffer.Width:=Paintbox1.Width; buffer.Height:=Paintbox1.Height;
buffer.Canvas.FillRect(0,0,buffer.Width,buffer.Height);
Listbox.fcanvas:=Buffer.Canvas;
// hier weiße ich es zu
ListBox.onDraw:=@Draw;
for i:=0 to 5 do
ListBox.Items.add('Item: ' + IntTostr(i));
listbox.SetItemWH;
end;
was ich noch erwähnen sollte ist das TmyListbox von tmycompo abgeleitet wurde