chefsalat-
Mitglied
Hallo zusammen,
ich melde mich mal wieder mit nem Problem.
In C++ hab ich eine Struktur und ein Enum erstellt:
Dann hab ich mir in einer Header-Datei ein Array erstellt:
Beim Starten des Dialogs sollen alle Werte außer Paramname genullt werden, also
Bei den Zahlenwerten klappt das auch ganz gut. Den Paramname kann ich von Hand auch setzen.
Nur die beiden CString-Variablen (sError und sWert) lassen sich nicht setzen.
Bei folgendem Code kommt die Fehlermeldung:
Bei folgendem Code kommt keine Fehlermeldung, aber beim Starten des Dialogfensters bricht das Programm mit der unten stehenden Fehlermeldung ab.
Weiß jemand Rat und kann mir helfen
Wäre super dankbar.
Gruß chefsalat-
ich melde mich mal wieder mit nem Problem.

In C++ hab ich eine Struktur und ein Enum erstellt:
C++:
enum ParameterTyp {
PTyp_int,
PTyp_double,
PTyp_float,
PTyp_bool,
PTyp_default
};
struct AdsParameter {
ParameterTyp paramTyp;
union {
int iVal;
double dVal;
float fVal;
bool bVal;
};
char Paramname[20];
bool bChanged;
bool bOK;
CString sError;
CString sWert;
};
Dann hab ich mir in einer Header-Datei ein Array erstellt:
C++:
const int ANZPARAMS = 17;
AdsParameter adsParam[ANZPARAMS];
Beim Starten des Dialogs sollen alle Werte außer Paramname genullt werden, also
C++:
for (int i=0; i<ANZPARAMS; i++) {
adsParam[i].bChanged = false;
adsParam[i].bOK = false;
adsParam[i].iVal = 0;
adsParam[i].paramTyp = PTyp_default;
//adsParam[i].sError = "";
//adsParam[i].sWert = "";
}
Bei den Zahlenwerten klappt das auch ganz gut. Den Paramname kann ich von Hand auch setzen.
C++:
strcpy(adsParam[0].Paramname, "param1");
Nur die beiden CString-Variablen (sError und sWert) lassen sich nicht setzen.
Bei folgendem Code kommt die Fehlermeldung:
C++:
strcpy(adsParam[0].Paramname, ".N_KISTE_MAX_IO1");
error C2664: 'strcpy' : Konvertierung des Parameters 1 von 'class CString' in 'char *' nicht moeglich
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
Bei folgendem Code kommt keine Fehlermeldung, aber beim Starten des Dialogfensters bricht das Programm mit der unten stehenden Fehlermeldung ab.
C++:
adsParam[i].sWert = "";
/* Fehlermeldung
Debug Assertion Failed
File: afx.inl
Line: 122 */
Weiß jemand Rat und kann mir helfen
Wäre super dankbar.
Gruß chefsalat-