AGB  ·  Datenschutz  ·  Impressum  







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

Programm blockiert ganz Windows

Ein Thema von Gruber_Hans_12345 · begonnen am 29. Jun 2013 · letzter Beitrag vom 4. Jul 2013
Antwort Antwort
Seite 3 von 5     123 45      
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#21

AW: Programm blockiert ganz Windows

  Alt 29. Jun 2013, 14:59
Zitat:
Das Problem ist das ich in der Laderoutine vom Firebird keine Porcessmessages einbauen kann.....
Warum nicht?

Dann verwende Threads


weil das ja nur ein sql.open ist was die ganze arbeit macht....

mich störts ja nicht das mein programm einfriert - aber warum der ganze rechner....
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#22

AW: Programm blockiert ganz Windows

  Alt 29. Jun 2013, 15:02
Zitat:
mich störts ja nicht das mein programm einfriert - aber warum der ganze rechner....
Weil dein Programm den Prozessor auslastet.
Vielleicht sollte man die Abfage optimieren
Markus Kinzler
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#23

AW: Programm blockiert ganz Windows

  Alt 29. Jun 2013, 15:09
Zitat:
mich störts ja nicht das mein programm einfriert - aber warum der ganze rechner....
Weil dein Programm den Prozessor auslastet.
Vielleicht sollte man die Abfage optimieren
Ja aber das Teil hat ja noch 3 andere ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#24

AW: Programm blockiert ganz Windows

  Alt 29. Jun 2013, 15:13
Zitat:
mich störts ja nicht das mein programm einfriert - aber warum der ganze rechner....
Weil dein Programm den Prozessor auslastet.
Wage ich zu bezweifeln.
Selbst die billigesten PCs (Netbooks) haben schon zwei Kerne. Der normal-PC hat 4-8 Kerne. Ein einfaches Programm dieser Art wird den Prozessor nicht auslasten können.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Programm blockiert ganz Windows

  Alt 29. Jun 2013, 16:31
Einen Tipp habe ich nicht aber...

Ich kenne ein ähnliches Verhalten unter Win7 gelegentlich vom InternetExplorer bzw. beim öffnen mehrerer Register. Nach einigen Sekunden läuft es dann wieder.

Außerdem reagiert das System gelegentlich nicht mehr auf MouseOver und MouseClick (laufende Programme aber schon).
Es hilft dann der Affengriff und zwei Klicks auf abbrechen. Der erste bringt die Mauserkennung zurück, der zweite schließt die Systemebene.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (29. Jun 2013 um 17:33 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#26

AW: Programm blockiert ganz Windows

  Alt 30. Jun 2013, 12:35
Hier rumzurätzeln warum das so ist bringt einfach nichts.
Fakt ist jedoch wenn du anderen Prozessen nicht die möglichkeit gibst weiterarbeiten zu können
hält das System nun mal (scheinbar)an bis dein prozess beendet ist.
Das ist einfach ein schlechter Programmierstil.

Die lösung ist doch einfach.
Blockiere nicht die Prozesse anderer Awendungen und gut ist.
Kann ich nicht.. gibt es nicht.

Das hilft immer

Delphi-Quellcode:
procedure WinProcessMessages;
// Allow Windows to process other system messages
var
  ProcMsg: TMsg;
begin
  while PeekMessage(ProcMsg, 0, 0, 0, PM_REMOVE) do
  begin
    if (ProcMsg.message = WM_QUIT) then
      Exit;
    TranslateMessage(ProcMsg);
    DispatchMessage(ProcMsg);
  end;
end;
Wer also will dir verbieten dafür zu sorgen das andere prozesse ihren Dienst verrichten können
FireBird ?

gruss

Geändert von EWeiss (30. Jun 2013 um 12:47 Uhr)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#27

AW: Programm blockiert ganz Windows

  Alt 1. Jul 2013, 16:48
mir war das einfach absolut neu, das wenn ich in mienem Programm die Message nicht verarbeite das dann alle anderen Programme dadurch in mittleidenschaft gezogen werden.

Aber das Problem, ist trotzdem ich habe leider auch Komponenten von mir, die einfach sehr sehr lange zum verarbeiten brauchen (zum Beispiel PivotTabellen, die rieseige Datenmengen verarbetien) und da kann ich nicht einfach rumwerklen im sourcecode, und dort ne message loop einbauen.
Genau so schwer wird es sein das in nen Thread auszulagern, da diese Komponente natürlich auch grafisch ist ... und die GUI braucht (die ja nicht thread sicher ist)
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#28

AW: Programm blockiert ganz Windows

  Alt 1. Jul 2013, 18:23
Nach meiner Erfahrung treten solche Effekte unter Windows7 dann auf, wenn eine Komponente den Explorer nutzt, und eine Ereignisbehandlung länger dauert. Ein Beispiel ist der DateTimePicker. Wenn man hier in den OnChange-Event folgendes einhängt

Delphi-Quellcode:
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  Sleep(10000)
end;
dann hängt nach der Änderung des Datums der gesamte Desktop für 10s. Das liegt daran, dass der Explorer als zentrale Bedienoberfläche für 10s blockiert ist. Bei anderen Komponenten (z.B. TEdit) ist ein solches Verhalten nicht zu beobachten.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Programm blockiert ganz Windows

  Alt 1. Jul 2013, 19:31
Fakt ist jedoch wenn du anderen Prozessen nicht die möglichkeit gibst weiterarbeiten zu können
Das ist unmöglich. Es sei den du gibst deinen Prozess die höchste Priorität, so das alle anderen Prozesse vom Scheduler nicht mehr berücksichtigt werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#30

AW: Programm blockiert ganz Windows

  Alt 1. Jul 2013, 19:57
Ja ist ein total komisches verhalten vom System

Und es ist total egal welche Priorität ich meinem Programm gebe - hohe oder niedrige - das hat keinen einfluss!

Wenn das programm sperrt, dann kann ich Alt-Tab drücken
es kommt das schöne fenster mit den Vorschaubildern der aktiven Programmen, aber es bleibt beim ersten Fenster stehen, also ein weiteres Alt-Tab geht nicht mehr
Die Vorschaubilder bleiben auch solange stehen bis mein programm fertig ist

Wenn ich im hintergrund bei einer anderen Anwendung was rumschreibe oder so, dann sehe ich das sogar in den kleinen Vorschaubildern automatisch refresht!
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 21:14 Uhr.
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