MessageBox_ und Windows XP Style

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

MessageBox_ und Windows XP Style

Beitrag von Kai »

MessageBox_ läuft bei mir nur, wenn ich Windows XP Style in Compilereinstellungen deaktiviere, ausser ich öffne zuvor ein Fenster.
Ist wohl nicht wirklich ein PB Bug, aber wundert mich wieso das so ist. :|

Code: Alles auswählen

MessageBox_(0, "Test", "", 0)
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Kann ich bestätigen. Mit Xp-Style nur wenn ich zuerst ein Fenster aufgemacht habe. Ohne gehts. Komisch.

//Edit: es geht auch wenn ich mit XP-Style zuerst den PB-Messgerequester aufgerufen habe. Wieso geht das direkt per API nicht? Ist doch dieselbe Funktion?
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ihr sollt ja auch den MessageRequester nutzen, nicht die entsprechende
API. Ansonsten müßt ihr natürlich selber commoninit oder wie das heißt
ausführen. Da es aber keinen Unterschied zwischen der API und der PB
Funktion gibt, gibt es keinen Grund die API zu verwenden.

Bugreports sollten sich eigentlich auf PB beziehen, nicht auf die WinAPI.

Ich denke mal, das kann nach Allgemein verschoben werden :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Mit der Api kann ich aber z.B. dem Messagerequester einem Fenster zuteilen oder eine maximale Anzeigezeit festlegen. Manchmal braucht man das.

Gehört aber trozdem in Allgemein, ist ja kein PB Bug. ^^
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

System oder Taskmodal geht auch mit der PB Version, Anzeigezeit festlegen?
Wo finde ich dieses Flag?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

Also bei mir hat das ganze von Anfang an geklappt. Leerer Code, XP-Skin-Support, nichts vorher offen. Liegt wohl daran dass ich Vista hab und ihr XP.
An PB kanns nicht liegen denn ihr hab ja alle 4.3
Win11 x64 | PB 6.20
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Bei mir gehts auch problemlos, egal ob 4.20 oder 4.30, aber unter XP gabs
da ein Problem, ist also bekannt.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

kA wiso, aber mit diesem Trick gehts (egal ob der User ein Admin ist oder nicht):

Code: Alles auswählen

IsUserAnAdmin_() ; Am Anfang aufrufen

MessageBox_(0,"test","test",0)
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

Beitrag von Kai »

Hm ich benutzte an sich auch nur MessageRequester aber kam halt mal auf die Idee denn API befehl zu missbrauchen, da kann man ja auch das Fensterhandle angeben, was auch null sein kann, der vorteil dabei ist ja außerdem das das Fenster nicht blockiert wird, wie realisiere ich das dann mit pb only?

Code: Alles auswählen

// Beispiel, Fenster wird nicht blockiert
OpenWindow(0, 0, 0, 640, 480, "")
MessageBox_(0, "test", "test", #MB_OK)
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
Antworten