Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Casten oder so

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.02.2007, 01:02 Uhr
~Diggi
Gast


Hallo,
ich habe ein Problem ich will meine Fomr mit allen Irhen Objecten vor dem schliesen des Porgrammes Speichern lassen. Dazu folgender Code:


C++:
    const int DATA_COUNT = 6;
    const int OBJ_COUNT = 10;

    String DATA[DATA_COUNT] =     {"FTop","FLeft","FWidth","FHeight",
                        "FEnabled","FVisible"};

   TControl *OBJ[OBJ_COUNT] = {Form1,
   Form1->Player1_Button_Stopp,Form1->Player1_Button_Pause,Form1->Player1_Button_Play,
   Form1->Player1_Volume,Form1->Player1_Postion,
   Form1->Player1_PlayList,Form1->Player1_Panel,Form1->Player1_Panel_Menu1,Form1->Player1_Panel_Menu2};

   String OBJ_N[OBJ_COUNT] = {"Form1",
   "But_Stopp","But_Pause","But_Play",
   "Volume","Position",
   "PlayList","Panal","Panal_Menu1","Panal_Menu2"};

    for(int i = 0 ; i < OBJ_COUNT ; i++)
    {
        for(int j = 0 ; j < DATA_COUNT ; j++)
        {
            OBJ[i]->DATA[j] = ReadString(OBJ_N[i], DATA[j] , "0");
        }
    }




ReadString (funktion zum auslesen der datei)

Form1 (zeiger auf meine Form dessen Objece ich speichern will)

ich habe mir gedacht da ich viele verschiedene Objecte habe (Buttons , SlidePars,ProgressPars,...) suche ich mir die Klasse von der alle abgeleitet sind.. und schaue nach ob diese klasse noch alle informationen die ich speichern will enthaelt. TControl.
Jetzt lasse ich die schleife durchlaufen und habe alles Geladen....

Leider bekomme ich folgenden fehler:
[C++ Error] player.cpp(57): E2316 'DATA' is not a member of 'TWinControl'

ich vermute das es eine möglcihkeit gibt dem Compiler zu sagen des des von den VariablenTypen passt... Casts?... oder irgend wie anderes?...
oder gar nicht? ...

schon einmal Vielen dank fuer eure Hilfe!

Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.02.2007, 10:12 Uhr
xXx
Devil


Öhm du solltest mal Englisch lernen ... das heißt das deine Klasse TWinControl keine Membervariable namens DATA besitzt, du aber mit
Code:
OBJ[i]->DATA[j]
darauf zugreifst ... davon abgesehen hat das nichts mit WinAPI zu tun ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.02.2007, 10:30 Uhr
Th



Sorry ~Diggi, das was du vorhast, kann so nicht funktionieren.
Du arbeitest mit dem BCB und willst die Eigenschaften per Namen (Strings) zuweisen?!!

Das geht aber nicht in C++, da nach dem Compilieren keine Namen mehr existieren, sondern nur noch Speicheradressen.
Du mußt schon die Eigenschaften einzeln zuweisen, d.h.

C++:
Control *pCtrl = ...;
pCtrl->Top = ReadString("Top"); // hier mußt du aber einen "int" zurückgeben
pCtrl->Left = ReadInt("Left"); // <- also besser so!

pCtrl->Enabled = ReadBool("Enabled"); // <-- und hier ein Bool
pCtrl->Visible = ReadBool("Visible"); // <-- hier ebenfalls



Schau dir mal die Klasse TIniFile an, dort gibt es dann die entsprechenden Funktionen zum Lesen und Schreiben der verschiedenen Datentypen.

Ansonsten lass dich ins BCB-Forum verschieben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.02.2007, 10:38 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.02.2007, 10:59 Uhr
~DiGGi
Gast


hallo,

vielen danke fuer die antworten.

dann wird das wohl noch viel schreibarbeit...


Dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.02.2007, 17:01 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Was genau soll denn der Sinn der Aktion sein?
Ich kann mir kaum vorstellen, dass du das wirklich genau so brauchst ...

Dieser Post wurde am 20.02.2007 um 17:01 Uhr von Reyx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: