AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid als Variable

Ein Thema von Alexis1987 · begonnen am 9. Apr 2005 · letzter Beitrag vom 9. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Alexis1987

Registriert seit: 7. Apr 2005
8 Beiträge
 
#1

StringGrid als Variable

  Alt 9. Apr 2005, 18:55
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: StringGrid als Variable

  Alt 9. Apr 2005, 18:57
Zitat von Alexis1987:
...Ich würde gerne mit einem Stringgrid arbeiten, das nicht im Formular auftaucht.
Deshalp habe ich es als Globale variable deklariert....
Autsch,

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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
9. Apr 2005, 18:58
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.
Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#4

Re: StringGrid als Variable

  Alt 9. Apr 2005, 18:58
wenn mich nicht alles täuscht so:

Delphi-Quellcode:
var mystringgrid: TStringgrid;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
  mystringgrid:=TStringgrid.create;
end;
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat
Alexis1987

Registriert seit: 7. Apr 2005
8 Beiträge
 
#5

Re: StringGrid als Variable

  Alt 9. Apr 2005, 19:03
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: StringGrid als Variable

  Alt 9. Apr 2005, 19:06
Zitat von Alexis1987:
...
Wenn ich das Stringgrid erst zur Laufzeit erzeuge, beschwert sich doch der Compiler, dass er das Stringgrid nicht kennt oder nicht???
Ne, beim compilieren kennt er ja eine "Variable" vom Typ TStringGrid. Darum ist für den Compiler alles okay. Aber zur Laufzeit wird versucht auf eine Instanz von TStringGrid zuzugreifen die noch nicht erzeugt wurde.
Darum einfach mit .Create() erzeugen und im OnDestroy der Form mit myStringGird.Free wieder freigeben.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Alexis1987

Registriert seit: 7. Apr 2005
8 Beiträge
 
#7

Re: StringGrid als Variable

  Alt 9. Apr 2005, 19:21
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???
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8

Re: StringGrid als Variable

  Alt 9. Apr 2005, 19:29
Das .Create möchte den "Besitzer" wissen. Am einfachsten machste Du
  SgCode := TStringGrid.Create (self); im .FormCreate deiner Form. Dann ist durch das self die Form der "Besitzer".
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#9

Re: StringGrid als Variable

  Alt 9. Apr 2005, 19:30
F1 sagt
constructor Create(AOwner: TComponent); override; also
Stringgrid1.create(self); probiers mal


mist zu langsam
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#10

Re: StringGrid als Variable

  Alt 9. Apr 2005, 19:36
Zitat von Alexis1987:
sind alle drei möglichkeiten falsch oder wird der Ursprüngliche fehler wo anders liegen???
Alle 3 sind falsch.
  1. Zitat von Alexis1987:
    SgCode := TStringgrid.create(); ---->> Fehler zu wenig wirkliche parameter
    Hast du schonmal gelesen, was er dir an Parametern vorschlägt?
  2. Zitat von Alexis1987:
    TStringgrid.create(SGCode); ------->> funzt aber ändert nichts an ursprünglichen Fehlermeldung
    Ein Constructor wird dir wie eine function, die neue Instanz liefern.
    Wenn du dir mal den Namen des Paremeters ansiehst, dürfte dir klar sein, warum er hier nicht meckert.
    Nur wo packst du die Instanz hin? SqCode bleibt doch nil. -> AV beim Zugriff auf einen Member von SgCode.
  3. Zitat von Alexis1987:
    SgCode.Create(TStringgrid); ------->> inkompatibele Datentypen
    Wie soll etwas aus dem Nichts sich selbst erzeugen?

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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz