BOOL TSteering::ExecuteNextCmd( void ) { if (TheCmd->nFailureId) { MessageBox( GetFocus(), "Macro execution failed !", "Steerng", MBSTOP ); if (TheCmd) { // eventuell vorhandenes vorhergehendes Befehls-Objekt zerstören // (Destruktor wird gerufen) delete TheCmd; TheCmd = NULL; } return FALSE; } if (TheCmd) { // eventuell vorhandenes vorhergehendes Befehls-Objekt zerstören // (Destruktor wird gerufen) delete TheCmd; TheCmd = NULL; } // Function tested; Last changes 950814 if (TheCmdList[nCmdIdx].Id == Inquire) // bInquireResult wird nirgendwo verändert // und auch nicht initialisiert!! // Behfehlszähler erhöhen nCmdIdx += (bInquireResult) ? 2 : 1; else // Behfehlszähler erhöhen nCmdIdx++; switch (TheCmdList[nCmdIdx].Id) { case Stop: // Kontrolle an Steuerfenster übergeben NotifyMacroReady(); return FALSE; case GotoLine: // Befehlszähler auf vorgefundenen Wert setzen nCmdIdx = TheCmdList[nCmdIdx].P1; if((TheCmdList[nCmdIdx].Id == Stop) || (nCmdIdx > TheMacro->Length-1)) { // Stop gefunden oder Sprungadresse hinter letztem Befehl NotifyMacroReady(); return FALSE; } return TRUE; default: // Neuen Befehl ausführen StartCmdExecution( TheCmdList[nCmdIdx] ); return TRUE; } }
Zurück zu SteeringReadyReaction()