Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TStringGrid zur Laufzeit erzeugen
torstena - Mo 11.09.06 21:22
Titel: TStringGrid zur Laufzeit erzeugen
Mein Problem - wenn es für viele sicher auch lachhaft ist: Ich möchte zu Testzwecken zur Laufzeit ein StringGrid auf einem Form erzeugen.
Habe also zu diesem Zweck ein neues Projekt mit folgendem Code erzeugt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| program StringGridTest;
uses Forms, TestUnit in 'TestUnit.pas' ;
{$R *.res}
begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| unit TestUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids;
type TForm1 = class(TForm) procedure FormClick(Sender: TObject); private public end;
var Form1: TForm1; aGrid: TStringGrid;
implementation
{$R *.dfm}
procedure TForm1.FormClick(Sender: TObject); begin aGrid.Create(Self); end;
end. |
Bekomme aber beim Klick in das Form zur Laufzeit die Meldung, dass eine EAccessViolation beim Lesen von Adresse 00000000
aufgetreten ist. Wo liegt mein Fehler?
Gruß
Torsten
Marc. - Mo 11.09.06 21:28
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var sg: TStringGrid; begin sg := TStringGrid.Create(nil); sg.ColCount := 10; sg.RowCount := 10; sg.Parent := Form1; sg.free; end; |
1. Instanz erzeugen
2. Konstrukor wie oben aufrufen
3. parent setzen
4. mit free später wieder freigeben
Marc ;)
Carl Johnson - Mo 11.09.06 21:39
Dem ist nicht viel hinzuzufügen, ausser, dass du dabei auch noch andere Eigenschaften setzten kannst(ausser RowCount usw.).
torstena - Sa 16.09.06 10:27
Titel: Danke!
Vielen Dank für die schnellen, zielführenden Tipps, haben mir toll weitergeholfen.
Gruß
Torsten
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!