| |
|
|
Georg Hovenbitzer | Hallo zusammen,
mein Problem ist das Erkennen des TabChanged bei einer Schleife mit WaitInput. Nachfolgender Code funktioniert mit WaitInput unter XProfan ohne Probleme, wenn ich diesen mit Profan2Cpp 1.5 übersetze wird der TabChange nicht erkannt. Verwende ich GetMessage in funktioniert die übersezte Version. Nur dann bekomme ich in der reinen Profan Version probleme.
Hat jemand eine Idee was ich falsch mache oder liegt es an Profan2Cpp ?!
Gruß Georg KompilierenMarkierenSeparierenDef GetSysColor(1) !"USER32.DLL","GetSysColor"
Def GetAsyncKeyState(1) !"User32","GetAsyncKeyState"
Declare Ende&
WindowStyle 512 + 16 + 8 + 2
WindowTitle "HSP Tagger"
Window 0,0-800,600
UserMessages 33,273,16 ~WM_MOUSEACTIVATE,~WM_COMMAND,~WM_CLOSE
Cls GetSysColor(15) (~COLOR_BTNFACE)
@Set("TrueColor",1)
@Set("Decimals",0)
UseFont "Arinal Narrow",14,0,1,0,0
SetDialogFont 1
Proc Lyric_Window
Declare LyDialog&
Declare LyTab&
Declare LyEditID3&
Declare LyEditLyr&
Declare LyLaden&
Declare LyLoeschen&
Declare LyCopy&
WindowStyle 512 + 8
LyDialog& = @Create("Window",%hWnd,"Lyric",%WinLeft+100,%WinTop+75, 530, 387)
LyEditID3& = @Control("EDIT", "", $54311004, 14, 36, 493, 260, LyDialog&, 2001, %hInstance, $00020200)
LyEditLyr& = @Control("EDIT", "", $54310804, 14, 36, 493, 260, LyDialog&, 2002, %hInstance, $00020200)
@ShowWindow(LyEditLyr&,0)
LyLaden& = @Control("BUTTON", "Laden", $54010000, 100, 308, 64, 29, LyDialog&, 2003, %hInstance, $00020000)
LyLoeschen& = @Control("BUTTON", "Löschen", $54010000, 228, 308, 64, 29, LyDialog&, 2004, %hInstance, $00020000)
LyCopy& = @Control("BUTTON", "Lyr -> ID3", $54010000, 356, 308, 64, 29, LyDialog&, 2005, %hInstance, $00020000)
LyTab& = @Control("SYSTABCONTROL32", "", $54010000, 0, 0, 526, 357, LyDialog&, 2006, %hInstance,$10000) WS_EX_CONTROLPARENT
@InsertTab(LyTab&, 1, "ID3v2.x")
@InsertTab(LyTab&, 2, "Lyric 1.x/2.x")
WhileNot (GetAsyncKeyState($1B) <> 0) Or (%UMessage = 16) ~WM_CLOSE
WaitInput Tabchanged wird nicht erkannt
GetMessage Tabchanged wird erkannt
If @TabChanged(LyTab&) = 1
If @GetActiveTab(LyTab&) = 0
EnableWindow LyLaden&,1
@ShowWindow(LyEditLyr&,0)
EnableWindow LyEditID3&,1
@ShowWindow(LyEditID3&,1)
@SetFocus(LyTab&)
Else
EnableWindow LyLaden&,0
EnableWindow LyEditID3&,0
@ShowWindow(LyEditID3&,0)
@ShowWindow(LyEditLyr&,1)
@SetFocus(LyTab&)
EndIf
EndIf
EndWhile
@DestroyWindow(LyDialog&)
@SetFocus(%hWnd)
EndProc
Lyric_Window
WhileNot Ende& = 1
WaitInput
If (%UMessage = 16) And (@GetActiveWindow() = %hWnd) ~WM_CLOSE
Ende& = 1
EndIf
EndWhile
End
|
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 09.11.2005 ▲ |
|
|
|
|
Sebastian König | Hallo Georg,
ich denke, es ist ein kleines Problem im Message-Handling von Profan2Cpp (d.h in der plibwin.lib). Der Fehler tritt auch bei mir auf...
Ich denke, ich konnte die Ursache schon ermitteln: Wie es aussieht, setzt XProfan den internen Status für TabChanged immer erst beim Auslesen zurück - ein TabChanged-Aufruf innerhalb eines anderen ergibt jedenfalls 0. In Profan2Cpp wird der Status aber bei jedem WAITINPUT zurückgesetzt... ich werde das gleich mal ändern.
Ich kann Dir gern eine neue Lib zum Testen per eMail schicken - welchen Compiler benutzt Du denn?
MfG
Sebastian |
|
|
| |
|
|
|
Georg Hovenbitzer | Hallo Sebastian,
wäre klasse wenn du mir die neue Lib schicken könntest. Als Compiler benutze ich den Dev-C++ 4, davon die aktuelle Version. Ich habe gerade gesehen, dass unter den Compiler Einstellungen die 5er Version zum auswählen gibt, wird die nun schon unterstüzt oder ist dies nur schon mal vorsorglich. |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 09.11.2005 ▲ |
|
|
|
|
Sebastian König | Hallo Georg,
ich schicke die Lib gleich mal raus .
Zu Dev-C++ 5: Das ist etwas kompliziert... Die Version befindet sich schon seit einer Ewigkeit im Beta-Status. Profan2Cpp unterstützt sie schon seit Anfang an, jedoch wurde im Laufe der Weiterentwicklung von Dev-C++ irgendwann mal der Compiler gewechselt. Die letzte Beta, die unterstützt wurde, war glaube ich 4.9.8.0. Ich habe dafür auch einen Hinweis auf die Profan2Cpp-Homepage (bei den unterstützten Compilern) gesetzt und rate im Moment einfach zu Version 4.
Das Profan2Cpp-Paket möchte ich erst anpassen, wenn Dev-C++ 5 mal nicht mehr im Beta-Stadium ist (sonst wechseln die den Compiler womöglich nochmal ).
MfG
Sebastian |
|
|
| |
|
|
|
Georg Hovenbitzer | Hallo Sebastian,
was soll ich sagen Gerade ein Problem gemeldet und nicht mal 10 Stunden später behoben. So was ist absolut spitze.
Ein ganz großes Lob an dich |
|
|
| Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a) | 09.11.2005 ▲ |
|
|
|