ich bin hier neu mit einer ganz speziellen Frage.
Ich habe früher viel TurboPascal programmiert, das dann aufgegeben, und jetzt mit Lazarus wieder angefangen. Eigentlich hatte ich gedacht, das Konzept der Objektorientierung bereits verstanden zu haben und mich deswegen an den Aufbau einer eigenen Klasse basierend auf dem TStringGrid gemacht. Nur leider wird das Stringgrid nicht angezeigt, und ich finde meinen Fehler einfach nicht - und ich habe jetzt schon einige Varianten ausprobiert:
Code: Alles auswählen
unit tabelle;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Grids;
type
ttabelle = class (tstringgrid)
private
public
constructor anlegen(x,y:word;Vater:TComponent);
end;
implementation
constructor ttabelle.anlegen(x,y:word;AOwner:TComponent);
BEGIN
{ with tstringgrid(AOwner) do
BEGIN
Create(Vater);
Parent:=Self;
Left:=x;
Top:=y;
Width:=100;
Height:=100;
ColCount:=10;
RowCount:=10;
visible:=true;
END; }
inherited Create(AOwner);
self.Left:=x;
self.Top:=y;
self.Width:=100;
self.Height:=100;
self.ColCount:=10;
self.RowCount:=10;
self.visible:=true;
END;
end.
Code: Alles auswählen
unit test;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Grids, tabelle;
type
{ TForm1 }
TForm1 = class(TForm)
tab1: ttabelle;
procedure FormCreate(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
tab1.anlegen(20,20,Form1);
end;
end.
Kann mir bitte jemand helfen, wo mein Denkfehler ist?
Herzlichen Dank im Voraus!
Saimenn