Autor Beitrag
torstena
Hält's aus hier
Beiträge: 11

WinXP pro
Delphi 7
BeitragVerfasst: Mo 11.09.06 21:22 
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:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
program StringGridTest;

uses
  Forms,
  TestUnit in 'TestUnit.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.


ausblenden volle Höhe 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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mo 11.09.06 21:28 
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19

Win XP
D3
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 11

WinXP pro
Delphi 7
BeitragVerfasst: Sa 16.09.06 10:27 
Titel: Danke!
Vielen Dank für die schnellen, zielführenden Tipps, haben mir toll weitergeholfen.

Gruß
Torsten