AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

Ein Thema von TheJeed · begonnen am 6. Okt 2010 · letzter Beitrag vom 11. Okt 2010
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

  Alt 6. Okt 2010, 10:25
Ich würde mal sagen das ist der Falsche Ansatz-

Ich würde die Komponenten die die Daten anzeigen das Aktualisieren unterbinden undzwar mit BeginUpdate und EndUpdate.
Ich glaube, er hat keinen Zugriff auf den Quellcode. Das scheint ein fremdes Programm zu sein.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#2

AW: Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

  Alt 6. Okt 2010, 12:41
Genau, es ist eine kommerzielle closed source Anwendung. WM_SETREDRAW werden wir uns mal ansehen
Teitmaschine Go!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

  Alt 6. Okt 2010, 16:04
Ungetestet:
Delphi-Quellcode:
procedure LockWindow(handle:HWND; lock: boolean);
begin
   if handle = 0 then exit;
   if lock then SendMessage(handle, WM_SETREDRAW, 0, 0)
   else begin
      SendMessage(handle, WM_SETREDRAW, 1, 0);
      RedrawWindow(handle, nil, 0,
         RDW_ERASE or RDW_FRAME or RDW_INVALIDATE or RDW_ALLCHILDREN);
   end;
end;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

  Alt 6. Okt 2010, 18:04
Prüfe bitte bei der Funktion auch auf INVALID_HANDLE_VALUE.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#5

AW: Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

  Alt 7. Okt 2010, 17:03
Also vielen Dank für Eure Beteiligung. Wir haben es mit WM_SETREDRAW probiert, aber das führte "nur" zu einem komischen Verhalten beim Zeichnen des Fensters. Sein Inhalt wurde trotzdem weiter gerendert. Als nächstes ist der Tipp von shmia dran.

Außerdem schauen wir gerade in den ReactOS-Sourcen nach Hinweisen, die uns Rückschlüsse auf die Arbeitsweise von Windows erlauben:http://doxygen.reactos.org/d1/da1/su...ce.html#l00684

Es muss doch möglich sein...
Teitmaschine Go!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#6

AW: Fenster vom Rendern von Daten abhalten um Applikationsleistung zu optimieren

  Alt 7. Okt 2010, 17:18
Prüfe bitte bei der Funktion auch auf INVALID_HANDLE_VALUE.
Das gilt Datei/Schnittstellen-Handle und Ähnliches (Delphi=THandle C=HANDLE ), welche z.B. über CreateFile erstellt werden.
> diese haben den Wert für "unüglig" als Unsigned(-1), also INVALID_HANDLE_VALUE

Bei Fenster-Handles (HWND) ist das anders.
> diese haben den Wert für "ungültig" als 0 (aka NULL in C)


@TheJeed:
- Um was für eine Komponente handelt es sich denn und was wir dargestellt?
- Betrifft das Neuzeichnen das ganze Fenster oder nur die eine Subkomponente?
- Soll etwas sichtbar bleiben, wärend des Ladens oder kann der Bereich auch leer bleiben?
- ...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Okt 2010 um 17:21 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:12 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 by Thomas Breitkreuz