![]() |
StringGrid als Variable
Hallo erstmal
Ich hab folgendes Problem Ich würde gerne mit einem Stringgrid arbeiten, das nicht im Formular auftaucht. Deshalp habe ich es als Globale variable deklariert. Jzt taucht allerdings immer ger Gleiche Fehler bei auf sobald auf diese varable zugegriffen wird: ..Zugriffsverletzung an der stelle... Kann es sein, dass ich die variable erst initialisieren muss wenn ja wie??? Thx 4 Answer |
Re: StringGrid als Variable
Zitat:
warum eine Visuelle Komponente (Object) verwenden wenn sie nicht angezeigt wird? Dein Fehler kommt wohl daher das Du das Objekt nicht zur Laufzeit erzeugst! Aber ich würde mir lieber überlegen das ohne eine TStringGrid zu lösen. |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Schaut doch bitte mal die Beschreibungen der einzelnen Sparten genau an. ;-) |
Re: StringGrid als Variable
wenn mich nicht alles täuscht so:
Delphi-Quellcode:
var mystringgrid: TStringgrid;
... procedure TForm1.FormCreate(Sender: TObject); begin mystringgrid:=TStringgrid.create; end; |
Re: StringGrid als Variable
Das Stringgrid ist zwingend notwenid für mein Projekt, da sich alles auf den eigenschaften eines Stringgrid stützt. Es würde zu lange dauern es genau zu erleutern. Sagen wir einfach das String grid ist Notwendig. (Danke trotzdem für den Tip)
Außerdem sollte ich vllt anfügen, dass der fehler erst zur Laufzeit auftritt. Und offensichtlich nicht vom Compiler abgefangen wird. Wenn ich das Stringgrid erst zur Laufzeit erzeuge, beschwert sich doch der Compiler, dass er das Stringgrid nicht kennt oder nicht??? @Andigo das habe ich auch schon versucht, allerdings beschwert er sich dann dass erzu wenig parameter hat und da ich nicht weiß welche parameter ich anfügen soll bin so auch nicht weiter gekommen obwohl ich denke dass hier irgendwo der Fehler liegt |
Re: StringGrid als Variable
Zitat:
Darum einfach mit .Create() erzeugen und im OnDestroy der Form mit myStringGird.Free wieder freigeben. |
Re: StringGrid als Variable
hmm...
also meie variable heißt SGCode Ich weiß wie ich selbst erstellten klassen initialisier. BSP "Con := TConverter.create" also habe ichs so versucht: 1. SgCode := TStringgrid.create(); ---->> Fehler zu wenig wirkliche parameter 2. TStringgrid.create(SGCode); ------->> funzt aber ändert nichts an ursprünglichen Fehlermeldung 3. SgCode.Create(TStringgrid); ------->> inkompatibele Datentypen sind alle drei möglichkeiten falsch oder wird der Ursprüngliche fehler wo anders liegen??? |
Re: StringGrid als Variable
Das .Create möchte den "Besitzer" wissen. Am einfachsten machste Du
Delphi-Quellcode:
im .FormCreate deiner Form. Dann ist durch das self die Form der "Besitzer".
SgCode := TStringGrid.Create (self);
|
Re: StringGrid als Variable
F1 sagt
Delphi-Quellcode:
also
constructor Create(AOwner: TComponent); override;
Delphi-Quellcode:
probiers mal ;)
Stringgrid1.create(self);
mist zu langsam :) |
Re: StringGrid als Variable
Zitat:
Ehrlich gesagt kann ich keinerlei Verständnis dafür aufbringen. In der Hilfe bekommst du die Info welcher Parameter was macht. (Und es ist hier nunmal nur einer) Außerdem würdest du dort finden was ein Constructor ist bzw. wie man ihn einsetzt. (Das scheinst du nämlich nicht zu wissen) Zu guter Letzt... Es gibt keinerlei Grund für das Grid eine globale Variable sein. Es macht außerdem keinerlei Sinn ein Control irgendwo zu erzeugen, nur damit man ein / zwei Eigenschaften benutzen kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz