AGB  ·  Datenschutz  ·  Impressum  







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

interrupts Aktivierung

Ein Thema von deplhi · begonnen am 9. Okt 2008 · letzter Beitrag vom 9. Okt 2008
Antwort Antwort
deplhi

Registriert seit: 17. Mai 2008
5 Beiträge
 
#1

interrupts Aktivierung

  Alt 9. Okt 2008, 11:08
Hallo Zusammen,

ich habe eine Applikation mit Delphi programmiert. beim ausfuhren der .exe werden die Interrupts deaktiviert so dass ich keine Kontrolle über die Appi habe. Diese kontrolle habe erst wider wenn die ausgefüuhrte Routine beendet wurde. Es ist unpraktisch das ich manchamal während der Ausführung einige Parameter einstellen will.

kann jemand mir bei dieser Aufgabe weiter helfen..

Danke!

Gruss
hier soll nix stehen
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 11:51
Es werden keine Interrupts deaktiviert (das haut ab WinNT prinzipiell schon nicht mehr hin), sondern dein Programm arbeitet die Windows Nachrichtenschleife nicht mehr ab während es etwas anderes tut (welche u.a. zur Benachrichtigung über Benutzerinteraktion benutzt wird). Das ist ein Klassiker, und die passenden Suchbegriffe dazu lauten "Application.ProcessMessages" und "Threads". Über beides lässt sich haufenweise Material in der DP und im restlichen Netz finden, wobei ersteres als Quick&Dirty-Lösung hier und da ganz nett ist, Threads aber definitiv die elegantere und universellere Geschichte sind - dafür aber auch ein Thema für sich.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
deplhi

Registriert seit: 17. Mai 2008
5 Beiträge
 
#3

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 13:10
ein beispiel für Deaktivierung ist die Mausblockirung. meinst du das hängt auch mit Threads. mit dem Thema habe ich mich noch nie beschäftigt. was kann man damit din dem Falle erreichen.

danke!
hier soll nix stehen
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#4

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 13:25
Hi Deplhi,

willkommen in der DP

Schau mal, ob du dein Deutsch etwas verbessern kannst, fällt uns dann beim lesen leichter (solltest du kein Deutscher sein, dann ist es wieder super).

Es ist so, wie es Medium sagt, mittels einer "normalen" Exe hast du keine Zugriffe auf Interrupts. Wenn bei dir die Maus einfriert, dann hat das einen anderen Grund. Was für ein Programm ist das denn und was macht es?

Gruß oki
42
  Mit Zitat antworten Zitat
deplhi

Registriert seit: 17. Mai 2008
5 Beiträge
 
#5

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 13:35
hi,

sorry, ich habe mich ja vertippt. eingentlich das programm ist schon komplex und es enthält viele units(15). aber was meinst du mit einer normalen exe.

danke im voraus!
hier soll nix stehen
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 13:42
Naja, wenn es nur Formulare mit etwas drumrum sind, dann kann da eigentlich nicht viel passieren. Hast du DLL's eingebunden die auf Schnittstellen, Treiber oder sonstiges zugreifen? Was macht deine Prozessorauslastung wenn die Maus hängt? Hast du Schleifen mit großen Zählern die beim Durchlauf keine Prozesszeit übrig lassen (sollte aber die Maus nicht bremsen). Gibt es Datenbankzugriffe wenn die Maus hängt?

Am besten, du beschreibst mal was dein Programm macht. Das werden mir zu viele Fragen.

Was weist denn überhaupt darauf hin, dass die Interrupts abgeschaltet werden? Oder glaubst du nur, dass das so ist?

Gruß oki
42
  Mit Zitat antworten Zitat
deplhi

Registriert seit: 17. Mai 2008
5 Beiträge
 
#7

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 14:23
ja, ich habe DLLs eingebunden die auf IO-Schnittstellen zugreifen und ich habe auch lange Schleifen könnte es daran liegen. übrigens die Aufnahme der Prozessorauslastung wird auch gestoppt.
Ich bin nicht sicher ob da wirklich die Interrupts abgeschaltet werden oder es steckt dahinter was anders.

ich weiss gar nicht woran es liegen kann was mein Code betrifft. Weil ich ein Timer zum Protokollieren benutze konnte das damit zusammenhängen.


Danke für jede Hilfe

Deplhi
hier soll nix stehen
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#8

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 14:42
Am Timer liegt es sicher nicht. Imho sieht es so aus, dass dein Rechner bei speziellen Aufrufen so stark ausgelastet wird, dass erst mal gar nichts geht. Programme laufen standardmäßig immer mit mittlerer Taskpriorität. Somit kann dein eigentlicher Code den Rechner nicht wirklich ausbremsen (zumindest in einer einfachen Schleife). Das erkennt man daran, dass dein eigenes Fenster "einfriert" aber Windows weiter bedienbar bleibt.
Ich vermute, dass deine IO-Zugriffe schuld sind. Ist aber nur eine Vermutung. Du solltest mal schauen, bei welchen Vorgängen, Zugriffen das so ist. Also nehm dir mal alle IO-Zugriffe vor und teste mal welcher unter Umständen den Rechner blockiert.

Gruß oki
42
  Mit Zitat antworten Zitat
deplhi

Registriert seit: 17. Mai 2008
5 Beiträge
 
#9

Re: interrupts Aktivierung

  Alt 9. Okt 2008, 14:47
Danke für den Tipp. ich melde mich soweit ich mehr weiss
hier soll nix stehen
  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 14:06 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