Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TObjekt Problem (https://www.delphipraxis.net/135732-tobjekt-problem.html)

youuu 16. Jun 2009 20:24


TObjekt Problem
 
Hi,

ich habe in einer Unit ein simples beispiel Objekt

Delphi-Quellcode:
Type
  TTabellennamen = class
  public
    sell: string;
  End;
und weise diesem einen Wert zu.

Delphi-Quellcode:
Var
  Tabelle: TTabellennamen;
.
.
.
Tabelle:= TTabellennamen.Create;  
   Tabelle.sell:= 'Text';

Und nun möchte ich den Wert in einer anderen Unit aufrufen und zwar so

Delphi-Quellcode:
procedure TFormMain.FormCreate(Sender: TObject);
Var
  Tabelle: TTabellennamen;
begin
  Label1.caption:= Tabelle.sell;
end;
jedoch erhalte ich eine Fehlermeldung:

EAccessViolation

Zugriffsverletzung bei .... in Modul rtl120.bpl

Apollonius 16. Jun 2009 20:26

Re: TObjekt Problem
 
Ist dir der Unterschied zwischen lokalen und globalen Variablen bewusst?

simple_me 16. Jun 2009 20:31

Re: TObjekt Problem
 
Überprüf mal, ob die Unit eingebunden ist und die Variable "Tabelle" global deklariert ist

[edit]oha nich gesehen. Du musst die Variable global deklarieren. [/edit]

youuu 16. Jun 2009 20:37

Re: TObjekt Problem
 
stimmt total vergessen global zu deklarieren, hab ich nun getan, allerdings nun weiterer Fehler:

EAcessViolation
Zugriffsverletzung bei Adresse ... in Modul'Programm.exe'

turboPASCAL 16. Jun 2009 20:41

Re: TObjekt Problem
 
Was hast du wohin geschrieben ?
Ist das in unterschiedliche Units augeteilt ?


:glaskugel:

Apollonius 16. Jun 2009 20:42

Re: TObjekt Problem
 
Das ist nicht hilfreich. Quellcode sowie die genaue Fehlermeldung zeigen.

youuu 16. Jun 2009 20:44

Re: TObjekt Problem
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von turboPASCAL
Was hast du wohin geschrieben ?
Ist das in unterschiedliche Units augeteilt ?


:glaskugel:

Unit 1

Delphi-Quellcode:

Type
  TTabellennamen = class
  public
    sell: string;
  End;


Var
  Tabelle: TTabellennamen; // global deklariert

.
.
.
.
Tabelle:= TTabellennamen.Create;  
   Tabelle.sell:= 'Text';

Unit2
Delphi-Quellcode:
procedure TFormMain.FormCreate(Sender: TObject);
begin
  LabelHello.caption:= Tabelle.sell;
end;


Edit Fehlermeldung im Anhang

3_of_8 16. Jun 2009 20:45

Re: TObjekt Problem
 
Das Problem ist: Das eine Create wird vor dem anderen aufgerufen. Dadurch greifst du auf das Objekt zu, bevor es erstellt wurde.

youuu 16. Jun 2009 20:48

Re: TObjekt Problem
 
Oh mein Gott hät ich selber drauf kommen müssen ...
Ich danke euch genau das wars logischerweise


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:31 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