Hallo zusammen,
folgendes Problem habe ich mit der 4.41 und auch der 4.50 b4 festgestellt.
Es geht um den Beispielcode "CreateWindowEx.pb" aus dem Codearchiv:
- Lädt man den Beispielcode per Dateiexplorer der PB-IDE direkt in den Editor und führt ihn aus, dann arbeitet er wie erwartet.
- Kopiert man nun diesen Quellcode mittels CTRL-A und CTRL-C und fügt ihn unverändert in einen neuen TAB der IDE ein, dann funktioniert das Erstellen des Buttons und auch die Auswertung der WM_CLOSE Message nicht mehr.
Ich kanns mir nicht erklären.
Hier ein Screenvideo davon (XVid codec, 2 MB)
Copy/Paste in IDE verändert Programmverhalten - strange!
Copy/Paste in IDE verändert Programmverhalten - strange!
Zuletzt geändert von Kurzer am 18.05.2010 13:53, insgesamt 1-mal geändert.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Re: Copy/Paste in IDE verändert Programmverhalten - strange!
Weder Winamp, noch VLC futtert das Video, obwohl ich den ganzen xvid codec quark eigentlich installiert hab O.o
Mir fiel spontan nur ein, dass es eine Compilereinstellung sein könnte, die in der .pb Datei eben angegeben ist und beim Text-Kopieren verloren geht?
Mir fiel spontan nur ein, dass es eine Compilereinstellung sein könnte, die in der .pb Datei eben angegeben ist und beim Text-Kopieren verloren geht?
Re: Copy/Paste in IDE verändert Programmverhalten - strange!
Ups, sorry. Ich hatte noch den Ogg Theora codec aktiviert. Habe das Video oben jetzt ausgetauscht, nun ist es wirklich XVid.
Davon ab hast du recht mit den Compilereinstellungen, Jilocasin. Schalte ich die XP-Skinunterstützung aus, dann ist der Button wieder zu sehen und das Programm reagiert wie erwartet.
Aber warum ist das so?
Eine normale in C geschriebene Fensteranwendung würde doch genau so aussehen, oder?
Davon ab hast du recht mit den Compilereinstellungen, Jilocasin. Schalte ich die XP-Skinunterstützung aus, dann ist der Button wieder zu sehen und das Programm reagiert wie erwartet.
Aber warum ist das so?
Eine normale in C geschriebene Fensteranwendung würde doch genau so aussehen, oder?
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Re: Copy/Paste in IDE verändert Programmverhalten - strange!
Da fehlt der Aufruf von InitCommonControls[Ex]_()
Re: Copy/Paste in IDE verändert Programmverhalten - strange!
Super, klappt.
Der Aufruf direkt nach Erzeugung des Controls ist hoffentlich richtig.;... Auszug aus "CreateWindowEx.pb" ...
CreateWindowEx_(0, "Static", "", #WS_CHILD | #WS_VISIBLE | $12, 9, 9, 102, 22, hWndMain, 0, 0, 0)
CreateWindowEx_(0, "Button", "Button 1", #WS_CHILD | #WS_VISIBLE, 10, 10, 100, 20, hWndMain, 0, 0, 0)
icc.INITCOMMONCONTROLSEX
icc\dwSize = SizeOf(INITCOMMONCONTROLSEX)
icc\dwICC = #ICC_STANDARD_CLASSES
InitCommonControlsEx_(@icc)
;...
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
Re: Copy/Paste in IDE verändert Programmverhalten - strange!
Es gehört davor, weil es dafür sorgt das die Fensterklassen initialisiert werden.
