001
13.09.2010, 22:15 Uhr
Hans
Library Walker (Operator)
|
Hi,
bin mir jetzt nicht ganz sicher, aber ich denke, das ist ein Fall für den Einsatz von extern, da ja Unit1/Form1 und Unit2/Form2 in zwei verschiedenen Dateien stehen, die vom Compiler separat übersetzt werden.
Vergleiche Dein Problem mal mit diesem Beispiel, evtl. ist das die Lösung.
C++: |
// Datei_1.cpp
#include <iostream>
using namespace std;
extern int a, b;
void f1(); void f2();
int main() { f1(); f2(); cout << "a = " << a << endl; cout << "b = " << b << endl; return 0; }
|
C++: |
// Datei_2.cpp
int a, b;
void f1() { a=5; }
void f2() { b=8; }
|
Das ergibt:
Code: |
E:\Watcom>externtest a = 5 b = 8
E:\Watcom>
|
Zu beachten ist bei dem Beispiel, das es ein Charactermode Programm ist, also in der Konsole (DOS-Fenster, Kommandozeile) läuft. Ich hab es hier externtest genannt. Und die externen Variablen müssen am Anfang, d.h. vor main definiert werden. Wie man das jetzt genau im Borland C++ Builder umsetzt, weis ich gerade nicht, aber das ist auf jeden Fall das Prinzip der verwendung von extern.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. |