AGB  ·  Datenschutz  ·  Impressum  







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

globale variable

Ein Thema von Privateer3000 · begonnen am 5. Jan 2003 · letzter Beitrag vom 6. Jan 2003
Antwort Antwort
Seite 2 von 2     12   
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#11
  Alt 5. Jan 2003, 17:11
Moin Privateer,

na da, wo Du eine Funktion veröffentlichen müsstest, also vor implementation, gehören die Deklarationen hin.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#12
  Alt 5. Jan 2003, 18:14
Zitat von sakura:
Zitat von Chewie:
Falls sie im implementation-Teil steht, musst du den Namen der Unit angeben, wenn du sie aus einer anderen Unit aufrufst.
Falsch, wenn Du die Variabel im implementation-Teil deklariert hast, dann ist diese ausserhalb der UNIT, in welcher diese deklariert wurde nicht verfügbar. Wenn die Variable auch in anderen Units verfügbar sein soll, dann musst Du diese im interface-Teil deklarieren.
Wenn ich die Variable s im interface-Teil von Unit2 deklariere und diese Unit im implementation-Teil von Unit1 in die uses-Klausel einfüge, kann ich mit Unit2.s auf die Variablle zugreifen. Also entweder hab ich doch recht (eher unwahrscheinlich ) oder ich hab dich falsch verstanden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#13
  Alt 5. Jan 2003, 18:20
Eher aneinandervorbei-geschrieben. Es ging um die Deklaration, aber Du hast vom Einsatz (der Implementation) geschrieben.
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#14
  Alt 5. Jan 2003, 18:22
Ja, das kann schon sein. Da ich das alles mehr oder weniger autodidaktisch gelernt hab, mangelts ein bisschen an den genauen Bezeichnungen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#15
  Alt 6. Jan 2003, 09:47
Gehe ich richtig der Annahme das der interface dann bis zu implementation geht?
Ansonsten habe ich es doch richtig gemacht und trotzdem
ist kein Zugriff möglich
Auszug:
Code:
private
    { Private-Deklarationen }
    public

  end;

var
  Form1: TForm1;
  blinker,Anzahlsicht,posit,protset: integer;
  BGFarbindex,FontFarbindex: String;
  puff,Durch,Differ: Currency;
  Nexttick: DWORD;
  Comma: Boolean=false;


implementation

uses Unit2,Unit3,Unit4, Unit5;
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#16
  Alt 6. Jan 2003, 10:14
Zitat von Privateer3000:
mir ging es eigetnlich um die Variablen
Code:
var
  Form1: TForm1;
  blinker,Anzahlsicht,posit,protset: integer;
  BGFarbindex,FontFarbindex: String;
  puff,Durch,Differ: Currency;
  Nexttick: DWORD;
  Comma: Boolean=false;
die ich in jeder Unit bräuchte.
Denn diese enthalten werte für Timer,labels und edits.
Bzw. integer-werte die auf anderen Units gebraucht werden.
Ich verstehe nicht ganz wo dein Problem liegt, aber wenn du nirgends ein Typedef aus einem Interfaceabschnitt einer anderen Unit brauchst, bindest du die Units einfach immer nach dem Implementation statement ein. Damit können keine zyklischen Abhängigkeiten entstehen, denn jede Unit kann kompiliert werden (hat dann erstmal externe referenzen auf die Symbole (funktionen,variablen) der Interfaceteile der anderen units), am ende wird das ganze noch zusammengelink und fertig. Du kommst nur in Probleme, wenn du typedefs aus einer anderen Unit schon im Interface teil brauchst, nur dann kann es zu Zyklen kommen. Hoffe das war einigermaßen verständlich...


Thomas
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:50 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