Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi globale Konstante? (https://www.delphipraxis.net/140076-globale-konstante.html)

bwolf 11. Sep 2009 10:54


globale Konstante?
 
Hi Leute,

evt. eine dumme Frage, aber wie (oder besser WO) definiere ich eine globale Konstante?
Ich habe es zum einen zwischen USES und TYPE probiert, und zum anderen zwischene VAR und IMPLEMENTATION.
Allerdings egal wie - ich kann aus einer anderen Unit nicht auf die Konstante zugreifen.

Was mache ich falsch?
Danke euch!

Deep-Sea 11. Sep 2009 10:56

Re: globale Konstante?
 
Eigentlich egal, sofern es zwischen interface und implementation ist :wink:
Hast du die Unit in der anderen auch eingebunden?

DeddyH 11. Sep 2009 10:57

Re: globale Konstante?
 
Wenn sie im interface-Teil steht, solltest Du aber darauf zugreifen können. Die enthaltende Unit hast Du ja eingebunden, oder?

[edit] Der Tiefseetaucher war schneller *grmpf* [/edit]

bwolf 11. Sep 2009 11:06

Re: globale Konstante?
 
Hm, bin wohl bescheuert.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

const
  CONST1 : integer = 1234;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
    var1 : string;
  end;

var
  Form1: TForm1;

const
  CONST2 : integer = 1234;


implementation

{$R *.dfm}

end.
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
  // zugriff auf var1 aber nicht auf CONST1 und CONST2 ??
end;

end.

DeddyH 11. Sep 2009 11:11

Re: globale Konstante?
 
Wie willst Du denn zugreifen? Über Form1.CONST1? Das geht natürlich nicht, weil es ja keine Property von Form1 ist (im Gegensatz zu var1).

Maximus 11. Sep 2009 11:12

Re: globale Konstante?
 
-- Falsch --

Unit1 war ja schon eingebunden ;)

Deep-Sea 11. Sep 2009 11:14

Re: globale Konstante?
 
Zitat:

Zitat von DeddyH
Wie willst Du denn zugreifen? Über Form1.CONST1? Das geht natürlich nicht, weil es ja keine Property von Form1 ist (im Gegensatz zu var1).

Genau. Sonst müsste man diese Konstanten als public const in die Form nehmen.

[OT]
So, DeddyH, jetzt hattest du mal den Vortritt, zufrieden? :mrgreen:
[/OT]

DeddyH 11. Sep 2009 11:15

Re: globale Konstante?
 
[OT] Der Tag eines alten Mannes ist somit gerettet :mrgreen: [/OT]

Sharky 11. Sep 2009 11:31

Re: globale Konstante?
 
Hai,

unabhängig von dem schon geschriebenen würde ich die Constanten in eine eigene Unit auslagern und diese dann überall einbinden.
Dann hast Du eine zentrale Stelle an der Du änderungen vornehmen kannst.

bwolf 11. Sep 2009 11:32

Re: globale Konstante?
 
Ah danke euch...

und danke Sharky für deinen Hinweiß.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 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-2025 by Thomas Breitkreuz