Ich habe hier ein Projekt (MDI Gerüst für neue Programme) ... wenn ich da in der Projekt Anzeige auf die Funktion klicke, lande ich irgendwo in der Datei.
Hinzu kommt, dass die Liste der Funktionen nicht sortiert ist ...
Mit CodeExplorer treffe ich richtig, muss aber wissen, in welcher Datei die Funktion liegt. Hier würde ich eine Liste aller Funktionen des Projektes erwarten, egal in welcher Datei.
Und eben suche ich mir einen Wolf, weil das Programm unter 2.0 einfach weg stirbt, ohne eine log auf der Platte.
Nach einiger Zeit habe ich EXIT prozedure eingebaut und siehe da es wird noch angezeigt ...
Dann habe ich meine angepasste ErrorSys.PRG entfernt und erhalte zumindest eine Fehlermeldung ...
Ich konnte es eingrenzen auf meine Funktion die schon ewig läuft:
Code: Alles auswählen
*-----------------------------------------------------------------------------
FUNCTION DoEventLoop(nSeconds) // For Next Schleifen unterbrechen und Events verarbeiten !
LOCAL nBisSeconds, nEvent, mp1:=nil, mp2:=nil, oXbp:=nil, dBis
DEFAULT nSeconds to 0
dBis := date()
nBisSeconds := seconds() + nSeconds
IF nBisSeconds >= 86400 // Endlosschleife um Mitternacht verhindern
dBis++
nBisSeconds := nBisSeconds % 86400
ENDIF
DO WHILE .T.
nEvent := AppEvent( @mp1, @mp2, @oXbp, nSeconds)
DO CASE
CASE nEvent = xbe_None
* nichts tun ist hier Standard
CASE nEvent = xbeP_Keyboard .and. mp1 == xbeK_F1
* xbeP_HelpRequest erscheinen für jede Xbp Instanz, also zu oft !
ShowNoHelp() // in ANW_MENU.PRG
OTHERWISE
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDCASE
IF nSeconds > 0
IF date() = dBis .AND. nBisSeconds < seconds()
exit
ENDIF
ENDIF
ENDDO
RETURN NIL
und nach weiterer Suche finde ich ein
/Z im Compiler Aufruf, warum sollte ich das eingestellt haben ???? mal sehen ob ich das raus bekomme in alten Sicherungen ...
Aber damit wird eines klar:
CASE nEvent = xbeP_Keyboard .and. mp1 == xbeK_F1
der Event ist Rezise, mp1 enthält ein Array und das wird mit == verglichen mit einer Zahl ....
mit der 1.90 konnte ich das seltsamerweise kompilieren ...