AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Optimierung Unverständlich

Ein Thema von venice2 · begonnen am 19. Feb 2021 · letzter Beitrag vom 21. Feb 2021
 
venice2
(Gast)

n/a Beiträge
 
#15

AW: Optimierung Unverständlich

  Alt 20. Feb 2021, 21:20
Naja, Du hast den Fehler ja bereits lokalisieren und korrigieren können. Damit kommen doch gar nicht mehr so viele Stellen in Frage. GetWindowRect ist eine boolsche Funktion. Du könntest also den Rückgabewert prüfen. Vermutlich wird dieser „false“ sein, wenn Dein Rect falsch befüllt wird. Das wäre ein Indiz dafür, dass das Fenster-Handle zu diesem Zeitpunkt ungültig ist.
Es ist nicht ungültig da es direkt davor erstellt wird.
Das WinHandle selbst ist dieses von der Anwendung die läuft ja im Hintergrund und das Fenster das ich öffne ist ein Dialog darüber.
Und das schlägt bei der Optimierung fehl.

Wäre das Handle falsch würde es auch ohne Optimierung falsche Werte liefern tut es aber nicht.
Deshalb verstehe ich das auch nicht.

Delphi-Quellcode:
  
  GetWindowRect(DialogHandle, rc);
  ClientToScreen(DialogHandle, p);
  
  TMDBInfoDlgCont := CTRL_SpriteContainerCreate;
  TMDBInfoDlgCont.Left := p.x + 30;
  TMDBInfoDlgCont.Top := p.Y + 60;
  TMDBInfoDlgCont.Width := 900;
  TMDBInfoDlgCont.Height := 506;
  TMDBInfoDlgCont.AnchorMode := ANCHOR_HEIGHT_WIDTH;
  TMDBInfoDlgCont.DwStyle := WS_POPUP or WS_CLIPSIBLINGS or WS_CLIPCHILDREN;
  TMDBInfoDlgCont.DwExStyle := WS_EX_TOOLWINDOW;
  TMDBInfoDlgContH := TMDBInfoDlgCont.CreateWindow(DialogHandle, hInstance);

  if TMDBInfoDlgContH <> 0 then // Handle ist gültig
  begin
    bmW := 0;
    bmH := 0;

    GetWindowRect(TMDBInfoDlgContH, lpr); // TRect liefert undefinierbare Werte bei eingeschalteter Optimierung, sonst nicht.
Zitat:
Es gibt also schon Dinge, die man tun könnte, wenn falsche Werte zurückkommen.
Ja. Sinnvoll wenn es bei beiden varianten ein Problem gäbe aber ohne Optimierung ist das Handle sowie der Rect richtig.
Und es werden korrekte werte zurück gegeben.

Ich halte nochmal fest.
Es funktioniert ohne Optimierung mit leider nicht.
Also kann es am Code definitiv nicht liegen denn dann dürfte beides nicht gehn.

Geändert von venice2 (20. Feb 2021 um 21:39 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz