![]() |
Merkwürdiger Fehler - Compiler geht / Exe nicht...
Hi,
ich habe einen fehler der nur Auftritt, wenn ich die EXE direkt ausführe... hier der Codeschnipsel
Delphi-Quellcode:
im Compiler ausgeführt wird die Tastenkombi ALT+F+W richtig übertragen,
delay(400);
AppActivate('TestApp'); delay(250); try // hier soll eine Drittapplikation online geschalten werden SendKeys('%(fw)' , false); except; showmessage('Fehler Sending Keys'); end; wenn ich die EXE direkt ausführe, dann gibt es nur einen kurzen System piepton und die Anwendung bleibt OFFLINE ... wo ist den der Unterschied zwischen Ausführung vom Compiler aus und der EXE direkt ? Danke Ralf |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Also ...
Beim Compilieren funktioniert alles, aber die Exe außerhalb von Delphi nicht ... Was passiert denn, wenn du die Exe öffnest? Irgendeine Fehlermeldung? |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Hi,
ja, wenn ich den code vom Compiler ausführe, dann wird die Anwendung in den Vordergrund geholt und aktiviert und anschließend die Tastenkombination ALT+F+W ausgeführt. Das funktioniert absolut und 100%ig vom Compiler (Delphi gestartet Code von der IDE aus ausgeführt)... Starte ich jetzt die vom Compiler erstellte EXE wird die Anwendung in den Vordergrund geholt und aktiviert und dann kommt ein kurzer peipton des Systemlautsprechers fertig... die Tastenkombo ALT+F+W ist aber nicht ausgeführt worden. Ich mache auch nichts anderes bei der Ausführung, da ja die Anwendung den Fokus behalten muss damit dass mit der Tastenkombi funktioniert aber Nada vom Compiler gehts EXE nicht ist mir unerklärlich - hab schon versucht zwischen die delays zu vergrößern falls die EXE zu schnell arbeiten würde aber auch hier fehlanzeige Gibt es noch einen anderen/sicheren Weg die Tastenkombi ALT+F+W an ein Drittprogramm zu übertragen... Danke Ralf |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Hi.
Erstmal zum Verständnis. Ein Compiler führt nichts aus, der übersetzt nur. Ich gehe mal davon aus, dass Du den Debugmodus meinst, bzw. dein Programm innerhalb der IDE ausführst und es dadurch funktioniert. Wenn Du im Debugmodus Zeile für Zeile durchgehst, dann wartet er 'ne zeile weiter bis Du Deine Eingabe getätigt hast und nimmt dann die Tastenkombinantion auch an. Im anderen Fall rauscht er aber einfach nur durch. Für eine genauere Diagnose ist es besser, wenn Du ein wenig mehr QuellCode abbildest oder den selbigen als Download anhängst. |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Versuche doch lieber per
![]() ![]() |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Hi,
also mit sendmessage komme ich irgenwie nicht zurecht... habe mal versucht die tastenkombi ALT+D+B nachzubilden die den Editor beendet (ja ich weiß beenden geht auch anderst... aber mir geht es um die Tastenkombi, da ich bei der Anwenung für die ich es brauche nur so die benötigte funktion aktivieren kann, da ich an keine ControlID komme)
Delphi-Quellcode:
das führt bei mir aber leider zu keinem Ergebnis...
procedure TForm1.Button1Click(Sender: TObject);
var handle: thandle; begin Handle := FindWindow(nil,PChar('Unbenannt - Editor')); SendMessage(Handle, WM_KEYDOWN, VK_MENU, 0); SendMessage(Handle, WM_CHAR, word('D'), 0); SendMessage(Handle, WM_CHAR, word('B'), 0); SendMessage(Handle, WM_KEYUP, VK_MENU, 0); end; Sendkey funktioniert eigentlich super nur halt leider nicht wenn ich die exe ausserhalb der Delphi-IDE ausführe - und ich frage mich immmer noch wo ist hier der Unterschied ? Delphi Compiliert den Code und führt doch dann die EXE aus... also müsste doch das Ergebnis dasselbe sein als wenn ich die EXE direkt ausführe (am verzweifeln) Tschö Ralf |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich hab jetzt mal ein kleines Testprog mit Source angehängt - es macht nichts anderes als den geöffneten Editor per Tastenkombi ALT+d+b zu schließen... Der Source in Delphi 2005 ausgeführt mit F9 funktioniert - startet man die EXE direkt wird der Editor nicht geschlossen Was ist den hier der Unterschied ? hat keiner eine Idee ? Danke Ralf |
Re: Merkwürdiger Fehler - Compiler geht / Exe nicht...
Ich hab jetzt mal ne krücke gefunden wie es zumindest funktioniert... das
problem scheint bei appactivate zu liegen... warum der focus trotz ergebnis "true" nicht bei dem fenster liegt ist mir schleicherhaft
Delphi-Quellcode:
wenn man das fenster aber zuerst minimiert und dann wieder herstellt geht es
procedure TForm1.Button1Click(Sender: TObject);
var handle: thandle; begin handle:=findwindow(nil,('Unbenannt - Editor')); showwindow(handle,SW_MINIMIZE); showwindow(handle,SW_RESTORE); AppActivate('Unbenannt - Editor'); SendKeys('%(db)' , false); end; immer... na ja was erwarte ich - ich progge ja unter MS-windows tschö Ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 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