Hallo zusammen,
wieder ich
Ich hab echt das gefühl dass der Compiler so richtig behindert ist.
Ich frag mich wozu initialisiere ich mit 0 wenn er drauf scheisst?
Warum mach ich zuweisung wenn er die nicht übernimmt?
Wofür schreib ich Code wenn er es eh weg "optimiert" ?
Anfangs hatte ich das Problem dass er gar nicht mal in die Funktion GenerateTelegram() gesprungen ist,
aber das lag an der Optimierungsoption, da die Funktion nur Membervariablen manipuliert hat die nicht weiter verwendet wurden, wurde diese Fkt weg optimiert...
Optimierung ausgeschaltet -> wenigstens ruft er die Fkt. auf...
ABER:
Wenn es zum aufruf von generateTelegram() kommt stehen irgendwelche Werte im Array, obwohl im Moment des C´tor aufrufs alles auf 0x00 steht.
Und er ignoriert manche Zuweisungen ganz, ich kann nicht mal brechpunkte setzen...
Und die Zuweisungen wo cih noch brechpunkte setzen kann wo er auch anhält, passiert trotzdem nix, es wird zum verrecken nicht ins Array geschrieben *heul*
Erstmal n bisle Code:
Ich hab diese Klasse:
Der C´tor:
Die Methoden:
Es ist einfach zum heulen, das kann doch nicht sein!
Hab gedacht es lag viell. an den Zuweisung, Probleme mit konvertierungen oder ähnliches und hab dann explizit Werte zugewiesen...
Aber nix ist, er t komplett drauf, amcht einfach gar nix mit dem Array.
Hab solche Aggressionen aufgebaut hier das ist unglaublich, such grad nach jemanden den ich verantwortlich machen kann *g*
Kennt jemand die Entwickler von M$ Visual Studio compilern
Maaaan
Hiiiilfe und danke im Vorraus.
wieder ich

Ich hab echt das gefühl dass der Compiler so richtig behindert ist.
Ich frag mich wozu initialisiere ich mit 0 wenn er drauf scheisst?
Warum mach ich zuweisung wenn er die nicht übernimmt?
Wofür schreib ich Code wenn er es eh weg "optimiert" ?
Anfangs hatte ich das Problem dass er gar nicht mal in die Funktion GenerateTelegram() gesprungen ist,
aber das lag an der Optimierungsoption, da die Funktion nur Membervariablen manipuliert hat die nicht weiter verwendet wurden, wurde diese Fkt weg optimiert...
Optimierung ausgeschaltet -> wenigstens ruft er die Fkt. auf...
ABER:
Wenn es zum aufruf von generateTelegram() kommt stehen irgendwelche Werte im Array, obwohl im Moment des C´tor aufrufs alles auf 0x00 steht.
Und er ignoriert manche Zuweisungen ganz, ich kann nicht mal brechpunkte setzen...
Und die Zuweisungen wo cih noch brechpunkte setzen kann wo er auch anhält, passiert trotzdem nix, es wird zum verrecken nicht ins Array geschrieben *heul*
Erstmal n bisle Code:
Ich hab diese Klasse:
Code:
class CCommunication
{
public:
CCommunication(void);
~CCommunication(void);
private:
BYTE m_aSendBuf[_PEBUS_ARRAY_SIZE];
BYTE m_aRecBuf[_PEBUS_ARRAY_SIZE];
bool GenerateTelegramm(BYTE dwClientAddress, CDevice* pDevice, CommCommands cmd, CString varName);
void InitializeVars(void);
.
.
.usw.
Code:
CCommunication::CCommunication(void) :
eStatus(StartUp),
m_pIComm(NULL)
{
InitializeVars();
}
Code:
bool CCommunication::GenerateTelegramm(BYTE dwClientAddress, CDevice* pDevice, CommCommands cmd, CString varName)
{
bool returnValue = true;
std::vector<int>::size_type indexOfVar = -1;
if(!varName.IsEmpty())
indexOfVar = pDevice->GetIndexOfVar(varName);
/*
// Pos
m_aSendBuf[0] = dwClientAddress; // 0 src
m_aSendBuf[1] = pDevice->GetAddress(); // 1 dst
m_aSendBuf[2] = PT_queryMasterSlave; // 2 pt Always send as Master-Slave telegram
m_aSendBuf[3] = PLEN; // 3 dlen
m_aSendBuf[4] = QQ; // data |
m_aSendBuf[5] = ZZ; // \ /
*/
m_aSendBuf[0] = 0x04; // 0 src
m_aSendBuf[1] = 0x02; // 1 dst
m_aSendBuf[2] = 0x13; // 2 pt Always send as Master-Slave telegram
m_aSendBuf[3] = 0x0D; // 3 dlen
m_aSendBuf[4] = 0x00; // data |
m_aSendBuf[5] = 0x00;
switch (cmd)
{
case cmdSwVersion:
{
m_aSendBuf[3] = 0x06;
m_aSendBuf[6] = 0xB5;
m_aSendBuf[7] = 0x09;
m_aSendBuf[8] = 0x01;
m_aSendBuf[9] = 0x28;
break;
}
default:
{
returnValue = false;
}
}
return returnValue;
}
//----------------------------------------------------
void CCommunication::InitializeVars(void)
{
for(int i(0); i < _PEBUS_ARRAY_SIZE; i++)
{
m_aSendBuf[i] = 0x00;
m_aRecBuf[i] = 0x00;
}
}
Es ist einfach zum heulen, das kann doch nicht sein!
Hab gedacht es lag viell. an den Zuweisung, Probleme mit konvertierungen oder ähnliches und hab dann explizit Werte zugewiesen...
Aber nix ist, er t komplett drauf, amcht einfach gar nix mit dem Array.
Hab solche Aggressionen aufgebaut hier das ist unglaublich, such grad nach jemanden den ich verantwortlich machen kann *g*
Kennt jemand die Entwickler von M$ Visual Studio compilern
Maaaan
Hiiiilfe und danke im Vorraus.