AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

Ein Thema von Ralle1 · begonnen am 19. Nov 2013 · letzter Beitrag vom 19. Nov 2013
Antwort Antwort
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
270 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 13:13
Und Application.ProcessMessages hilft dir auch nicht?
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 13:24
Woe soll denn das gehen? Bei synchronem Fetch kann man so was nicht machen, es sei denn der Server unterstützt entsprechende Callbacks. Eine Möglichkeit wäre eventuell einen Thread dafür zu starten, der sich dann selber beendet wenn die Query gelaufen ist.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.075 Beiträge
 
Delphi 12 Athens
 
#3

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 13:26
Und Application.ProcessMessages hilft dir auch nicht?
Sicherlich nicht in dem Fall, da es sich ja um eine lange Abfrage handelt, aber normalerweise macht man solche Abfragen in einem Thread.

Man kann ja mit WaitForSingleObject oder ähnlichen Methoden warten bis die Abfrage fertig ist, dann braucht man auch keine große Synchronisation, wenn man das gut genug kapselt. Man kann dann aber an der Stelle immer 100 Millisekunden oder so als Timeout nehmen und warten und dann Application.ProcessMessages aufrufen bis der Thread fertig mit dem Laden ist.

Wie man das an der Stelle konkret machen kann um das threadsicher zu implementieren lässt sich so allgemein schlecht sagen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Ralle1

Registriert seit: 2. Nov 2011
49 Beiträge
 
Delphi XE3 Professional
 
#4

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 14:04
Auf jeden Fall bedeutet eine threadsichere Implementierung, dass man es komplett umbauen muss. Und da gilt für mich derzeit "never touch the running system"A
Deswegen hatte ich ursprünglich auf Symptonbekämpfung bei dem schwarzen Rand gehofft.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
542 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 14:32
Auf jeden Fall bedeutet eine threadsichere Implementierung, dass man es komplett umbauen muss.
Was hast Du denn für eine Delphi Version?
Mit einem anonymen Thread verbunden mit einer anonymen Methode 5 Min. Aufwand.
Ausser es ist alles mit der VCL verfrickelt.

Delphi-Quellcode:
TThread.CreateAnonymousThread(
procedure
// Mach etwas zeitintensives und synchroniere das Resultat wohin auch immer
begin
end).Start;
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
498 Beiträge
 
Delphi 12 Athens
 
#6

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 14:34
Hallo,
ich habe mir eine Procedure OpenQueryInThread(...) geschrieben. Diese erstellt einen geeigneten Thread und wartet dann.
Wenn ich dann dafür sorge, dass im gerade offenen Dialog nichts mehr gemacht werden kann, habe ich bisher keine Probleme festgestellt, wenn ich
Delphi-Quellcode:
...
Q.Open; --> OpenQueryInThread(Q);
...
ausgetauscht habe.
Man sollte das nur benutzen, wenn es wirklich länger dauert, da der Thread Verzögerungen verursacht.
  Mit Zitat antworten Zitat
Ralle1

Registriert seit: 2. Nov 2011
49 Beiträge
 
Delphi XE3 Professional
 
#7

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 15:23
XE2 ist im Einsatz - sowas in die Richtung werde ich mir auf Dauer auch einbauen. Danke für Eure Tipps.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Windows 8.1 Rand verschiebt sich bei "Keine Rückmeldung"

  Alt 19. Nov 2013, 15:58
Der schwarze Rand ist ja nicht in deinem Fenster.

Wenn Windows merkt, daß eine Anwendung (GUI-Thread) hängt, dann werden von den Fenstern Screenshots gemacht, das Fenster ausgeblendet und stattdessen vom Windows ein Dummyfenster erstellt, wo dieser Screenshot ausgegraut reingemalt wird.
Da dieses Fenster dann von einem anderen funktionierenden Thread (vermutlich vom DesktopWindowManager) verwaltet wird, kann man damit noch ein bissl was machen, wie z.B. verschieben, auf X klicken usw.
und damit es auch ein X gibt, wird notfalls der Fensterstyle geändert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:04 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