Auslagern von Struct in Header-Datei

Radmor

Grünschnabel
Hallo,

ich bin im Moment dabei eine Adressverwaltung (VCL) zu programmieren.
Dazu nutze ich Turbo C++ 2006 von Borland.

Ich habe Zwei Formulare erstellt:
Form1 (main .cpp/.h)
Form2 (tabellenansicht .cpp/.h)

Ich habe ein Struct, welches ich in beiden Formularen nutzen möchte.
Dazu habe ich das Struct in die main.h geschrieben:

Code:
//---------------------------------------------------------------------------
#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// Von der IDE verwaltete Komponenten
	TEdit *Name;
	TEdit *Strasse;
	TEdit *PLZ;
	TEdit *Ort;
	TButton *zurueck;
	TButton *vor;
	TLabel *Label1;
	TLabel *Label2;
	TLabel *Label3;
	TLabel *Label4;
	TButton *sortieren;
	TEdit *Datensatz;
	TLabel *Label5;
	TButton *speichern;
	TButton *dateneinlesen;
	TButton *datenschreiben;
	TLabel *Label6;
	TButton *gehezu;
	TButton *tabellenansicht;
	void __fastcall zurueckClick(TObject *Sender);
	void __fastcall vorClick(TObject *Sender);
	void __fastcall FormShow(TObject *Sender);
	void __fastcall sortierenClick(TObject *Sender);
	void __fastcall speichernClick(TObject *Sender);
	void __fastcall dateneinlesenClick(TObject *Sender);
	void __fastcall datenschreibenClick(TObject *Sender);
	void __fastcall gehezuClick(TObject *Sender);
	void __fastcall tabellenansichtClick(TObject *Sender);

private:	// Benutzer-Deklarationen
public:		// Benutzer-Deklarationen

	__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;

//---------------------------------------------------------------------------
#endif

struct Adresse {
  char name[30];
  char strasse[30];
  char plz[6];
  char ort[30];
};

struct Adresse Lieferadresse[10];

Außerdem habe ich jetzt die main.h in die tabellenansicht.cpp includiert.

Die Daten, die in dem Formular Form1 in das Struct geschrieben wurden, möchte ich in einem StringGrid auf Formular Form2 anzeigen lassen.

Dazu habe ich folgenden Code verwendet:

Code:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <string.h>
#pragma hdrstop

#include "tabellenansicht.h"
#include "main.h"


//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::schliessenClick(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::FormShow(TObject *Sender)
{
Tabelle->Cells[1][0]="Name";
Tabelle->Cells[2][0]="Straße";
Tabelle->Cells[3][0]="PLZ";
Tabelle->Cells[4][0]="Ort";


for (int i = 0; i != 5;i++) {
Tabelle->Cells[1][i + 1] = Lieferadresse[i].name;
Tabelle->Cells[2][i + 1] = Lieferadresse[i].strasse;
Tabelle->Cells[3][i + 1] = Lieferadresse[i].plz;
Tabelle->Cells[4][i + 1] = Lieferadresse[i].ort;
}
}
//---------------------------------------------------------------------------

Das Problem ist, dass die Felder, in denen die Datensätze erscheinen sollen leer bleiben.

Was mache ich da falsch?

Gruß
Radmor
 
Zurück