Struktur an Memberfunktion übergeben



  • Hi,

    ich habe eine Klasse mit folgendem Aufbau:

    class MyClass: public CWinApp
    {
    public:
    	MyClass();
    
    	typedef struct INIDATA
    	{
    	char pszBuyText[MAX_PATH];
    	char pszBuyUrl[MAX_PATH];
    	char pszLogo[MAX_PATH];
    	char pszOkButton[MAX_PATH];
    	char pszCancelButton[MAX_PATH];
    	char pszRetryButton[MAX_PATH];
    	char pszIgnoreButton[MAX_PATH];
    	char pszBuyNowButton[MAX_PATH];
    	}INIDATA;
    
    private:
    
    	bool CheckforIni();
    	bool GetIniContent(INIDATA *pData);
    
    	//bool GetIniContent(INIDATA);
    
    // Overrides
    public:
    	virtual BOOL InitInstance();
    
    	DECLARE_MESSAGE_MAP()
    };
    

    Meine Frage:

    Wie muss ich meine Struktur INIDATA anlegen bzw. initialisieren, damit ich sie
    an GetIniContent() übergeben kann?

    Folgendes habe ich versucht:

    MyClass *CMyClass;
    MyClass::INIDATA data;
    bool bVerifier = UsrMsg->GetIniContent(UsrMsg->INI);
    

    Danke für euere Hilfe



  • Hallo

    INIDATA ist grundsätzlich eine eigene Klasse, nur das sie im Namespace MyClass steht. Also must du keinen Pointer von MyClass benutzen. Je nachdem wie die Lebenszeit der INI-Struktur sein muß, kannst du es mit einem Stack-Objekt lösen

    MyClass::INIDATA data; // deklarieren
    data = ...; // Werte setzen
    bool bVerifier = UsrMsg->GetIniContent(&data); // Adresse von data übergeben
    

    oder als Heap-Objekt

    MyClass::INIDATA* data = new MyClas::INIDATA(); // deklarieren und erzeugen
    data = ...; // Werte setzen
    bool bVerifier = UsrMsg->GetIniContent(data); // data übergeben
    delete data; // data wieder löschen, wenn nötig
    

    bis bald
    akari


Anmelden zum Antworten