![]() |
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 |
Re: Variable global in einer Pas Datei
Hast du diese in einer Klasse angelegt oder wirklich global?
|
Re: Variable global in einer Pas Datei
Zitat:
Hier mal etwas Code von mir.
Delphi-Quellcode:
:gruebel: :gruebel:
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 .... Tanja |
Re: Variable global in einer Pas Datei
Das sieht eigentlich OK aus. Evtl. liegt der Fehler woanders. :gruebel:
|
Re: Variable global in einer Pas Datei
Ist Global eine instantiierte Instanz von TGlobal?
|
Re: Variable global in einer Pas Datei
Zitat:
Tanja |
Re: Variable global in einer Pas Datei
Und wann rufst du global:=Tgloabl.create(xyz) auf?
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Es geht um Delphi. |
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. |
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 15:10 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 by Thomas Breitkreuz