Hallo mit folgender Procedur sollen Buttons auf ein Panel
gezeichnet werden. Die PRoc ist aber keiner Komponente
zugeordnet, sonder wird wie eine funktion aufgerufen.
Nun meldet der Compiler das "Self undefiniert" sei?
Warum?
Eine Nebenfrage, wenn die Buttons neugezeichnet werden sollen
müssen die "alten" gelöscht werden. Wie wird dies
bewerkstelligt?
Delphi-Quellcode:
procedure buttonsetzen(setzq:TADOQuery);
var j,spalte,zeile: Integer; aBut:TXiButton;
begin
setzq.Close; setzq.SQL.Clear;
setzq.SQL.Add('SELECT * FROM buttons ORDER BY posit');
setzq.Open; setzq.First;
j:=0;
while not setzq.Eof do begin
Spalte := j mod 6;
Zeile := j div 6;
aBut:=TXiButton.Create(Self);
aBut.Parent:=panelen.pans.FindComponent(setzq.fieldbyname('eben_name').AsString)as TPanel;
aBut.Visible:=True;
aBut.Left:=Spalte*115; aBut.Top:=Zeile*45;
aBut.Width:=113;
aBut.Height:=43;
aBut.ShowHint:=True;
aBut.Font.Size:=setzq.fieldbyname('fogr').AsInteger;
//aBut.Font.Style:=[fsbold];
aBut.Hint:=setzq.fieldbyname('anzeige').asString;
aBut.ColorScheme:=GetCoSche(setzq.fieldbyname('farbe').AsString);
aBut.Caption:=setzq.fieldbyname('anzeige').AsString;
aBut.Tag:=setzq.FieldByName('wert').AsInteger;
//aBut.OnClick:=p1_1click;
setzq.Next;
inc(j);
end;
end;
Grüße