| |
|
|
| KompilierenMarkierenSeparieren
IF GETFOCUS(b01%)
CaseNot MID$(editor$,2,1)=":":2WINDOWS_CONFIG "1"
SHELL editor$
ELSEIF GETFOCUS(b02%)
CaseNot MID$(viewer$,2,1)=":":2WINDOWS_CONFIG "2"
SHELL viewer$
ELSEIF GETFOCUS(b03%)
CaseNot MID$(ziper$,2,1)=":":2WINDOWS_CONFIG "3"
SHELL ziper$
ELSEIF GETFOCUS(b04%)
CaseNot MID$(mailer$,2,1)=":":2WINDOWS_CONFIG "4"
SHELL mailer$
ELSEIF GETFOCUS(b05%)
CaseNot MID$(prg_05$,2,1)=":":2WINDOWS_CONFIG "5"
SHELL prg_05$
ENDIF
Dieser Ausschnitt aus einem Programm-Code funktioniert einwandfrei. Schreibe ich aber für GetFocus das modernere CLICKED in den Code, wird der Parameter für die Procedur 2WINDOWS_CONFIG nicht übergeben - Egal, welchen Button ich benutze, es wird immer der Parameter 1 übergeben - Mache ich was falsch oder klappt das hier mit CLICKED nicht ? |
|
|
| |
|
|
|
| Mal unabhängig davon - aber Prozedurennamen sollten nicht mit einer Ziffer beginnen!
Löst es das Problem dann schon? |
|
|
| |
|
|
|
| [quote:aaceda1696]aber Prozedurennamen sollten nicht mit einer Ziffer beginnen! [/quote:aaceda1696] iF War mir neu - habe jetzt die Procedur in ZWEI_WINDOWS_CONFIG umbenannt - aber auch hier das gleiche Resultat: Mit GetFocus alles prima - mit CLICKED keine Parameter-Übergabe |
|
|
| |
|
|
|
| Probiere - und poste - mal ein Funktionierendes Beispiel was das Problem aufzeigt - um auszuschliessen - das das Problem an anderer Stelle in Deinem Code erzeugt wird. |
|
|
| |
|
|
|
| Zuerst einmal: Es liegt nicht an CLICKED - Es muss sich in meinen Code irgendwo ein ganz gemeiner Bug versteckt haben ! - in einem Kurzprogramm mit den gleichen Bedingungen tritt der Fehler nicht auf ! D. h., Suchen, suchen, suchen... |
|
|
| |
|
|
|
Frank Abbing | Erzeugst du die Buttons/Controls via CONTROL? Wenn ja, musst du jedem eine andere ID zuteilen. |
|
|
| |
|
|
|
| KompilierenMarkierenSeparieren
Proc CreateIconButton
Parameters Exe$,Index&,Window&,X&,Y&,W&,H&,ID&
Declare Button&,Icon&
Button& = Control("Button","",$56000040,X&,Y&,W&,H&,Window&,ID&,%Hinstance)
Icon& = ExtractIcon(%Hinstance,Addr(Exe$),Index&)
Sendmessage(Button&,&BM_SETIMAGE,&IMAGE_ICON,Icon&)
Return Button&
EndProc
------------------------------------
declare b01%,editor$,tip%
CreateIconButton editor$,0,%hwnd,((%MaxX/2)-20),135,34,34
b01% = &(0)
tip%=CREATE("TOOLTIP",%HWnd,b01%,editor$)
...usw.
Hallo Frank So werden die Buttons erzeugt. - Wie oben schon gesagt, mit Getfocus alles im grünen Bereich - mit Clicked wird kein Parameter > 1 übergeben !? ...aber ich find den Fehler noch |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Horst, Du hast da ja ne sehr komplizierte Abfragestruktur, da ja nicht nur die Buttons abgecheckt werden, sondern auch 5 unterschiedliche Stringvariablen. Bau doch mal ein $D Test,b01%,b02%....,editor$,viewer$... vor der If-Abfrage ein, um zu sehen, wie die Variablen bestückt werden. KompilierenMarkierenSeparieren Damit könntest Du schon mal einiges herausfinden.
Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 29.10.2006 ▲ |
|
|
|
|
| Hallo Jörg Den Debug-Befehl hab ich jetzt eingebaut und das Ergebnis siehst Du im beiliegenden Bild. Mir sagt die ganze Sache aber garnichts - ich gebe zu, dass ich damit überfordert bin. Dein Angebot, den Code zu testen, nehme ich bestimmt wahr, aber zuerst muss die ganze Sache noch etwas gestrafft werden. ca. 1 Woche und ein paar graue Haare wird es noch dauern PS: Auf zwei Buttons sind in der Darstellung zwei Links zum Programmen eingestellt. Aber das kennst Du ja schon |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Horst, Ist das jetzt ein Screenshot nach dem KKlicken auf einen der Buttons? Wenn nicht, mach das nochmal.
Wie Du auf dem Bild siehst, hat keiner Deiner Buttons den Focus! Entweder weil Du keinen geklickt hast oder weil z.B. irgendwo eine Handlezuweisung falsch ist. Du kannst das jetzt erweitern, indem Du die Debug-Box um weitere Variablen ergänzt, um herauszufinden, welches Element den Focus erhält. Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 29.10.2006 ▲ |
|
|
|
|
| @Jörg Habe jetzt $D... in jede Buttonabfrage eingesetzt und wie Du sehen kannst, wird nach Klick auf den Button5 auch der Focus auf den Button5 gesetzt. Das geht aber nur mit Getfocus - tausche ich gegen Clicked aus, wird Irvan-View gestartet, weil der unter Button1 eingestellt ist und Clicked nur den Parameter 1 übergibt |
|
|
| |
|
|
|
Jörg Sellmeyer | Ich vermute aber mal, daß der Button treotzdem richtig ausgelöst wird und der Fehler in der Parameterauswertung liegt. Wie lautet den die Parameterabfrage in der Prozedur ZWEI_WINDOWS_CONFIG? Es hängt wahrscheinlich damit zusammen, daß bei GetFocus das Ganze evtl. 2-mal durchlaufen wird, während es bei Clicked korrekterweise nur einmal abläuft. Ist aber nur wildes spekulieren, da es ohne Code nur ein Ratespiel ist.
Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 29.10.2006 ▲ |
|
|
|