Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Variable global in einer Pas Datei (https://www.delphipraxis.net/95207-variable-global-einer-pas-datei.html)

Dumpfbacke 3. Jul 2007 08:11


Variable global in einer Pas Datei
 
Hallo,
ich habe hier ein pas Datei, in der ich einige Funktionen habe welche ich von verschiedenen Programmen aus benutze. Dazu binde ich die Datei in verschieden Projekte ein. Die Funktionen kann ich auch dann mittels Global.Funktion1 aufrufen. Nun wollte ich einen Variable in der Pas Datei definieren, welche ich dann von einer Form aus beschriebn und lesen kann. Diese habe ich dann unter Public gemacht. Leider bekomme ich immer nun eine Exception EAccessViolation. Wenn ich jedoch von Form1 auf einen Variable von Form2 zugreifen möchte, so geht das ja ohnen Probleme.
Kann mir jemand sagen was ich falsch machen ?

Tanja

mkinzler 3. Jul 2007 08:15

Re: Variable global in einer Pas Datei
 
Hast du diese in einer Klasse angelegt oder wirklich global?

Dumpfbacke 3. Jul 2007 09:22

Re: Variable global in einer Pas Datei
 
Zitat:

Zitat von mkinzler
Hast du diese in einer Klasse angelegt oder wirklich global?


Hier mal etwas Code von mir.

Delphi-Quellcode:
unit GlobalUnit;

interface

uses
SysUtils, ...

TGlobal = class(TComponent)
 procedure Funktion1(Macro: string);
public
 Variable1: String;
end;

var
Global: TGlobal;
X,Y: Integer;

Implementation

Procedure TGlobal.Funktion1(Macro: string);
begin
....
:gruebel: :gruebel:
Tanja

DeddyH 3. Jul 2007 09:33

Re: Variable global in einer Pas Datei
 
Das sieht eigentlich OK aus. Evtl. liegt der Fehler woanders. :gruebel:

mkinzler 3. Jul 2007 09:34

Re: Variable global in einer Pas Datei
 
Ist Global eine instantiierte Instanz von TGlobal?

Dumpfbacke 3. Jul 2007 09:46

Re: Variable global in einer Pas Datei
 
Zitat:

Zitat von mkinzler
Ist Global eine instantiierte Instanz von TGlobal?

ich würde ja sagen oder ? Ich habe oben den Quelltext mal koplett eingetragen. So sieht meine pas Datei am Anfang aus.

Tanja

sirius 3. Jul 2007 09:48

Re: Variable global in einer Pas Datei
 
Und wann rufst du global:=Tgloabl.create(xyz) auf?

DP-Maintenance 3. Jul 2007 09:58

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Es geht um Delphi.

Die Muhkuh 3. Jul 2007 10:25

Re: Variable global in einer Pas Datei
 
Hi Tanja,

versuch mal dies hier:

Delphi-Quellcode:
unit GlobalUnit;

interface

uses
SysUtils, ...

TGlobal = class(TComponent)
procedure Funktion1(Macro: string);
public
Variable1: String;
end;

var
Global: TGlobal;
X,Y: Integer;

Implementation

Procedure TGlobal.Funktion1(Macro: string);
begin
....
end;

// Das kommt ganz nach unten, vor end.

initialization
Global := TGlobal.Create(nil);

finalization
Global.Free

end.

Luckie 3. Jul 2007 11:01

Re: Variable global in einer Pas Datei
 
Warum erzeugst du eine Instanz der Klasse in der Unit selber? Mach das zur Laufzeit im Programm, wenn du die Klasse brauchst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr.
Seite 1 von 2  1 2      

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