hi zusammen
ich habe folgendes problem wie ist der source richtig?
.elseif uMsg == WM_COMMAND
.if wParam == IDC_TEST1
.esleif wParam == IDC_TEST2
.endif
oder so
.elseif uMsg == WM_COMMAND
mov eax,wParam
.if eax == IDC_TEST1
.esleif eax == IDC_TEST2
.endif
danke
re:
ich habs gelöst bekommen!
arber könnte mir das jemand genauer erklären
HIWORD wParam ;events of controls
mov edx,eax ;exemple :TCN_SELCHANGE
LOWORD wParam ;ID of commands eax
mov ebx,lParam ; handle of controles
ragdog
ich brauch dringend eure hilfe
Moderatoren: crack, Krüsty, Marwin
- crack
- Administrator
- Beiträge: 280
- Registriert: Dienstag 21. Dezember 2004, 15:02
- Wohnort: 53783 Eitorf
- Kontaktdaten:
Re: ich brauch dringend eure hilfe
Nun, um dazu etwas zu schreiben ist wohl ein etwas längerer Ausschnitt aus dem Quellcode erforderlich ...rag_dog hat geschrieben:hi zusammen
...
re:
ich habs gelöst bekommen!
arber könnte mir das jemand genauer erklären
HIWORD wParam ;events of controls
mov edx,eax ;exemple :TCN_SELCHANGE
LOWORD wParam ;ID of commands eax
mov ebx,lParam ; handle of controles
ragdog
Und den Quellcode 'umhüllt' man im Posting am besten mit: [ code ] und [ /code ] (selbstverständlich ohne die Leerzeichen, bzw. oben bei den Edit Funktionen gibts einen Button für diese Code Tags
mit freundlichen grüssen,
with best regards,
crack
with best regards,
crack
- crack
- Administrator
- Beiträge: 280
- Registriert: Dienstag 21. Dezember 2004, 15:02
- Wohnort: 53783 Eitorf
- Kontaktdaten:
Re: ich brauch dringend eure hilfe
wenn da tatsächlich "esleif" stand konte es wohl nicht funktionieren: "Syntax Error"rag_dog hat geschrieben:hi zusammen
ich habe folgendes problem wie ist der source richtig?
.elseif uMsg == WM_COMMAND
.if wParam == IDC_TEST1
.esleif wParam == IDC_TEST2
.endif
Kurz mal den Blick hinter die Kulissen:rag_dog hat geschrieben: oder so
.elseif uMsg == WM_COMMAND
mov eax,wParam
.if eax == IDC_TEST1
.esleif eax == IDC_TEST2
.endif
danke
re:
ich habs gelöst bekommen!
arber könnte mir das jemand genauer erklären
HIWORD wParam ;events of controls
mov edx,eax ;exemple :TCN_SELCHANGE
LOWORD wParam ;ID of commands eax
mov ebx,lParam ; handle of controles
ragdog
die
.if
...
.elseif
...
.endif
Konstruktion wird vom Kompiler in
cmp ...
jnz ...
jmp ...
umgewandelt, und bei dem Vergleich mittels Compare (cmp) sind als Operanden nicht alle Kombinationen zlässig, wenn du versuchst Speichervariable mit Speichervariablen zu vergleichen, kann der Kompiler keine gültige Codesequenz erzeugen daher ist es erforderlich zuerst die Speichervariable1 in ein Register (EAX, EBX ...) zu laden und dann innerhalb der .if .elseif .endif Konstruktion zu verwenden, das dürfte auch in dem Fall der Grund des Problems gewesen sein
mit freundlichen grüssen,
with best regards,
crack
with best regards,
crack