Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   [nonVCL] Endlosschleife mit 2 Fenstern (https://www.delphipraxis.net/172689-%5Bnonvcl%5D-endlosschleife-mit-2-fenstern.html)

lbccaleb 18. Jan 2013 13:48

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Ich habe gerade mal die alten nonVCL DirectDraw bsp. von Microsoft durchgestöbert und auch die benutzen nur einen Message Handler bei 2 Dialogen in Ihren Bsp.

EWeiss 18. Jan 2013 13:56

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von lbccaleb (Beitrag 1199613)
Ich habe gerade mal die alten nonVCL DirectDraw bsp. von Microsoft durchgestöbert und auch die benutzen nur einen Message Handler bei 2 Dialogen in Ihren Bsp.

Macht auch sinn. ;)
Abgesehen davon wenn ich in DLL's mehrere Threads erstelle dann benötige ich für jeden einen Handler.
Da diese bekanntlich unabhängig von einander arbeiten.

gruss

lbccaleb 18. Jan 2013 14:20

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Liste der Anhänge anzeigen (Anzahl: 1)
@Luckie:

Schaau dir mal bitte das Bsp an was ich angehangen hab.
Das verdeutlicht was ich meine!

Button1 Fenster ohne eigenen Message Handler
Button2 mit Message Handler

Edit:

Wenn das 2 Fenster geöffnet wurde (Button2) dann muss das Prog per Taskplaner gekillt werden. Wegen der Endlosschleife..

turboPASCAL 18. Jan 2013 17:13

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe ein wenig in Deinem Quelltext herumgepfuscht. ;)

Bitte schalte mal die Bereichs.-u. Überlaufsprüfung ein...

EWeiss 18. Jan 2013 17:37

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Leicht OT:
Hätte selber noch was geändert.

frmMainForm.WinMain(hInstance, System.hPrevInst, System.CmdLine, System.CmdShow);

Zitat:

[DCC Warnung] Template.dpr(24): W1000 Symbol 'HPrevInst' ist veraltet
[DCC Warnung] Template.dpr(24): W1002 Symbol 'CmdLine' ist plattformspezifisch
Wenn "System.hPrevInst, System.CmdLine, System.CmdShow" in der function WinMain keine weitere verwendung findet
warum dann nicht einfach 0 , nil, 0 ?

Und unnötige Warnungen von vornherein gar nicht erst produzieren.

Nur ein kleiner zusätzlicher TIP..

Delphi-Quellcode:
const
  Mutex = 'Template_Mutex';
Warum nicht 'Template_Mutex' direkt übergeben da nur einmal verwendet
das ersparrt unnötiges konvertieren nach PAnsiChar

gruss

lbccaleb 18. Jan 2013 19:55

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von turboPASCAL (Beitrag 1199676)
Ich habe ein wenig in Deinem Quelltext herumgepfuscht. ;)

Bitte schalte mal die Bereichs.-u. Überlaufsprüfung ein...

Woran liegt es, dass das Programm mit eingeschalteten Range Checks abstürzt? Was ist dafür verantwortlich??

EWeiss 19. Jan 2013 09:57

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Zitat:

Zitat von lbccaleb (Beitrag 1199699)
Zitat:

Zitat von turboPASCAL (Beitrag 1199676)
Ich habe ein wenig in Deinem Quelltext herumgepfuscht. ;)

Bitte schalte mal die Bereichs.-u. Überlaufsprüfung ein...

Woran liegt es, dass das Programm mit eingeschalteten Range Checks abstürzt? Was ist dafür verantwortlich??

Sorry wenn ich antworte..
Ich habe es bei mir getestet mit Bereichs.-u. Überlaufsprüfung.
Da stürzt nix ab.

gruss

lbccaleb 19. Jan 2013 10:20

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Also bei mir stürzt es ab, wenn:

Delphi-Quellcode:
SendMessage(hBmpButton4, WM_SETFONT, MAKEWPARAM(hAppFont, 0), 0);
nicht in :

Delphi-Quellcode:
SendMessage(hBmpButton4, WM_SETFONT, INTEGER(hAppFont), 0);
geändert wird. Bei MakeWParam greift der RangeCheck.

turboPASCAL 19. Jan 2013 18:47

AW: [nonVCL] Endlosschleife mit 2 Fenstern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Genau.

Delphi-Quellcode:
MAKEWPARAM()
erwartet als Parameter Word, hAppFont ist aber ein Integer.
Im Anhang noch mal die Testapp mit verbessertem Fensterhandling in dem bei dem Subwindows als Parnet des Hauptfensters erzeugt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz