AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Programm führt keine Aktion aus, wenn nicht Focus
Thema durchsuchen
Ansicht
Themen-Optionen

Programm führt keine Aktion aus, wenn nicht Focus

Ein Thema von Timi-loader · begonnen am 10. Nov 2006 · letzter Beitrag vom 13. Nov 2006
Antwort Antwort
Timi-loader

Registriert seit: 10. Okt 2005
Ort: Berlin
97 Beiträge
 
Delphi 7 Personal
 
#1

Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 14:54
hallo

unzwar habe ich mir jetzt ein kleines tool gebaut, das alle handle einsammelt und die fenster dann alle auf einmal auf knopfdruck halbdurchsichtig machen kann. das klappt soweit auch sehr gut, nur jetzt wollte ich das ganze im hintergrund laufen lassen und einen timer einbaun, dass gleich alle neuen fenster auch halbdurchsichtig werden.. aber der timer macht irgendwie nur was, wenn die anwendung den focus hat.. also schon nichtmal wenn ich ein anderes fenster anklicke..

ich weiß jetzt nicht obs am timer oder an der maketransparent-funktion liegt.. aber ich habe überall schon lauter Application.ProcessMessages reingehaun und es klappt immer noch nicht.
also ich hab im timer ein button1.Click; eingebaut.. liegt vllt daran?

weiß einer von euch ne lösung oder nen andern weg?

mfg
timi-loader
  Mit Zitat antworten Zitat
Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 15:34
"also ich hab im timer ein button1.Click;"

Jepp, daran könnte es liegen - wäre auch logisch, da der Klick ja nicht ausgeführt werden kann, wenn das Fenster keinen Focus hat.

So programmiert man aber auch nicht!!!

Code, der an mehreren Stellen ausgeführt werden soll, gehört in eine eigene Funktion/Prozedur!
Sascha
  Mit Zitat antworten Zitat
Timi-loader

Registriert seit: 10. Okt 2005
Ort: Berlin
97 Beiträge
 
Delphi 7 Personal
 
#3

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 15:51
kk.. habs ausgelagert.. aber es klappt immernoch nicht. selbe sache.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#4

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 15:55
Zeig mal, wie du es asugelagert hast.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Timi-loader

Registriert seit: 10. Okt 2005
Ort: Berlin
97 Beiträge
 
Delphi 7 Personal
 
#5

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 16:36
ganz einfach:

Delphi-Quellcode:
procedure TForm1.doalle;
var
  h: HWnd;
begin
  h := handle;
  while h > 0 do
  begin
    if checkbox1.Checked=true then
    begin
    if isWindowVisible(h) then
      MakeTransparent(h,strtoint(edit1.text));
    end
    else
     begin
     MakeTransparent(h,strtoint(edit1.text));
     end;
    h := getnextwindow(h, GW_HWNDNEXT);
  end;
end;
diese prozedur habe ich neu erstellt und da steht ja der code und die variablen drinn die zuvor hier drinn waren: jetzt steht da:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
doalle;
end;
und beim timer:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
doalle;
application.ProcessMessages;
end;
..wahnsinnig schwer ausgelagert ^^

mfg
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#6

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 17:52
Hi,

ich glaube eher es war gemeint, das du den Code auslagerst und ihn dann auch aus deinem OnTimer aufrufst - und nicht dort Button.Click machst und in der ButtonClick-Methode die Funktion aufrufst?
Dann sollte es nämlich gehen...

MfG Benedikt
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 17:58
Was ist denn das:
while h > 0 do Guck dir mal MSDN-Library durchsuchenEnumWindows an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Timi-loader

Registriert seit: 10. Okt 2005
Ort: Berlin
97 Beiträge
 
Delphi 7 Personal
 
#8

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 18:38
also das mit dem h habe ich mir hier rausgesucht von andern codes.. und es klappt ja auch prima.. also der code geht ja ansich.. nur nichtmehr wenn das fenster nciht mehr ganz vorn und aktiv ist..

und natürlich habe ich auch beim timer das doalle; drinn

mfg
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 10. Nov 2006, 19:27
Du sollst im Timer DoAlle aufrufen, nicht Button1.Click;
Außerdem: Gib deiner Procedure bitte entweder einen rein deutschen oder englischen Namen, das verwirrt weniger
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Timi-loader

Registriert seit: 10. Okt 2005
Ort: Berlin
97 Beiträge
 
Delphi 7 Personal
 
#10

Re: Programm führt keine Aktion aus, wenn nicht Focus

  Alt 13. Nov 2006, 16:11
noch einer ne weitere idee?

(*push*)
  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 09:34 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