Forum: Object-Pascal / Delphi-Language
Delphi
by Char,
22. Okt 2003
Also muss in meinen Constructor auch inherited ja?
Wieso funktioniert es denn dann auch ohne? TSCtrl ist ja eine Ableitung von TObject, wieso wird das Objekt ordnungsgemäß erstellt, wenn gar nicht die Create-Prozedur von TObject aufgerufen wird, sondern "nur" meine?
Und: Wieso geht inherited Free nicht? Free überprüft doch nur, ob das Objekt nicht vorher nil ist, weil Destroy alleine da nen...
Forum: Object-Pascal / Delphi-Language
Delphi
by Char,
22. Okt 2003
destructor TSCtrl.Destroy;
var i: integer;
begin
for i:=0 to high(FShapeArray) do
FShapeArray.Free;
SetLength(FShapeArray,0);
inherited;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Char,
22. Okt 2003
TSCtrl ist selbst geschrieben (also dürfte dann von TObject abgeleitet sein).
Die Shapes werden sowieso selbst wieder zerstört, wenn das TSCtrl-Objekt gefreet wird oder fehlt da was?
destructor TShapeControl.Free;
var i: integer;
begin
for i:=0 to high(FShapeArray) do
Forum: Object-Pascal / Delphi-Language
Delphi
by Char,
22. Okt 2003
So, nun ist nurnoch ein Fehler drin:
USCtrl.pas(36): Inkompatible Typen: 'TComponent' und 'TSCtrl'
Und zwar im Constructor wenn die einzelnen Shape-objekte erstellt werden:
constructor TShapeControl.Create(howMany,iWidth,iHeight: integer;
BrushStyle: TBrushStyle = bsSolid;
PenStyle: TPenStyle = psSolid;
Forum: Object-Pascal / Delphi-Language
Delphi
by Char,
21. Okt 2003
Ok, danke, das hat diesen Fehler schonmal beseitigt.
Ich habe (versucht) eine Klasse zu schreiben, die in der Lage ist (so ziemlich) beliebig viele TShape-Komponenten zu erzeugen und zu verwalten.
Sie enthält bis jetzt die Methoden
{ public-Teil }
procedure Move(x,y: integer; whichOne: integer = 0); { <- Position eines einzelnen oder aller Shapes verändern }
procedure Del(whichOne:...
Forum: Object-Pascal / Delphi-Language
Delphi
by Char,
21. Okt 2003
Hallo,
bei mir kommt folgender Fehler, wenn ich ein dynamisches Array von TShape-Objekten machen möchte:
USCtrl.pas(11): Undefinierter Bezeichner: 'TShape'
Kann man keine Arrays von solchen Objekten machen? Wenn doch, wie?