CSring an DLL übergeben
-
Hi,
ich muss einen Pfad, in Form eines CString´s, an eine DLL übergeben.
Meine Frage nun, welchen Typ muss die exportierende Funktion in der DLL haben?
// exportierte Funktion. XMLDLL_API ? fnXmlDLL(?) { return 0; }
-
void, int, long, my_retrun_type, ist_doch_egal
-
Hi,
bin ganz schön am verzweifeln, denn so egal ist das nicht.Wenn ich meiner Funktion
*.h
XMLDLL_API int fnXmlDLL(void);
und
*.cpp
XMLDLL_API int fnXmlDLL(void) { return 0; }
in diesem Zustand ein Objekt der Klasse CString übergebe, dann bekomm ich
Fehler.
-
Hallo,
ist das möglich das du da wo du int stähen hast (.h,.cpp) einfach CString schreibst??MFG TaccoGo
-
So bekomm ich keine Fehler mehr, ich glaub das ist es.
XMLDLL_API int fnXmlDLL(const CString);
-
Wenn ich es so schreibe:
XMLDLL_API CString fnXmlDLL(void);
dann bekomm ich das vom Compiler:
c:\praktikum\codingvc\xmldll\xmldll.h(24) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'fnXmlDLL'
c:\praktikum\codingvc\xmldll\xmldll.h(24) : error C2501: 'CString' : Fehlende Speicherklasse oder Typbezeichner
c:\praktikum\codingvc\xmldll\xmldll.h(24) : fatal error C1004: Unerwartetes Dateiende gefunden
-
Hallo,
wielst du der funktion ein CString übergeben dan so wie du das oben genacht hast.
XMLDLL_API int fnXmlDLL(const CString);
wendu den CString per return zurgeben möchtest dan so.
XMLDLL_API CString fnXmlDLL(void);
der compeilerfeher gling so als kent er den typ CString nicht.
MFG TaccoGo
-
STOP. Welche DLL erstellt du. Wenn du eine DLL mit MFC erstellen willst dann musst du dies auch bei den Projekteinstellungen angeben.
Dafür stellt der Wizard sogar ein Prokect zur Verfügung.