AGB  ·  Datenschutz  ·  Impressum  







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

Klasse global verfügbar machen?

Ein Thema von moelski · begonnen am 31. Mär 2009 · letzter Beitrag vom 31. Mär 2009
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Klasse global verfügbar machen?

  Alt 31. Mär 2009, 11:57
Moin !

Habe da eine Klasse die ich gerne aus jedem Formular raus nutzen würde. Nun könnte ich mir in jedem Formular eine eigene Instanz hernehmen. Aber geht nicht mitunter auch sowas:

Delphi-Quellcode:
program Testprog;

uses
  Forms, SysUtils,
  MainUnit in 'MainUnit.pas{MainForm},
  KlassenUnit in 'KlassenUnit.pas';

{$R *.res}

var
  TL : TKlasse;

begin
  TL := TKlasse.Create();

  Application.Initialize;
  Application.ShowMainForm := True;
  Application.MainFormOnTaskBar := True;

  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
end.
Allerdings kommt man dann aus den Unit nicht auf die Variable TL.
Gibts da ein konstrukt mit dem das klappen könnte ?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#2

Re: Klasse global verfügbar machen?

  Alt 31. Mär 2009, 12:00
Delphi-Quellcode:
var
  TL : TKlasse;
in einer Unit definieren, welche in allen entsprechenden Unit eingebunden ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#3

Re: Klasse global verfügbar machen?

  Alt 31. Mär 2009, 12:00
Zitat von moelski:
Nun könnte ich mir in jedem Formular eine eigene Instanz hernehmen.
Ist das nicht eigentlich Sinn und Zweck eines Objektes/ einer Klasse? Ansonsten musst du halt die Klasse beim OnCreate deines Hauptformulars erstellen lassen, dann kannst du ja auch von anderen Formularen auf sie zugreifen.

Wenn ich dein Anliegen jetzt richtig verstanden habe...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Klasse global verfügbar machen?

  Alt 31. Mär 2009, 12:00
Binde die Unit doch in die Formularunits ein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#5

Re: Klasse global verfügbar machen?

  Alt 31. Mär 2009, 12:04
jupp, in eines der Formulare könnte man es auch noch einbinden ... da ebenfalls natürlich diese Unit überalle reinmachen ...

oder
Delphi-Quellcode:
unit ...;

interface
  var TL: TKlasse;

implementation

initialization
  TL := TKlasse.Create();

finalization
  if assigned(TL) then TL.Free;

end.
aber TL ist kein guter Name
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Klasse global verfügbar machen?

  Alt 31. Mär 2009, 12:08
Moin !

Das Problem an der Sache ist folgendes ...
Ich habe mir eine Unit geschrieben die meine Anwendung übersetzt. Das funzt auch (dank ein paar Hinweisen hier ausm Forum) erstaunlich gut und reicht für meine Zwecke aus.

Nun würde ich gerne in meiner Anwendung einmal meine Translation Klasse erzeugen. Mit dieser Instanz würde ich dann gerne alles übersetzen. Ich muss aber aus jeder Unit auf die Klasse zugreifen können (Stichwort Hardcoded Strings). Da würde sich eben so eine globale Klasse anbieten.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:57 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