Autor Beitrag
Psychoholic
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 08.11.02 12:29 
Hallo!
Ich habe folgendes Problem: Ist es irgendwie möglich, mittels eines kleinen Delphi-Programmes den Schliessen-Button eines anderen (externen) Programmes auszublenden?
Hintergrund: Ich habe eine Filemakerdatenbank, in der man diesen Button mit bordeigenen Mitteln nicht ausblenden kann. Benutzt man diesen Button anstelle einer "Programm beenden" Routine, so kann die Datenbank nicht ordendlich runterfahren und es kommt zu Datenverlusten. Folglich muss ich den Button irgendwie ausblenden. Geht dies? Hat hier jemand eine entsprechende Komponente parat?

Grüße, Roland
Moritz M.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1672



BeitragVerfasst: Sa 09.11.02 11:17 
Also, wenn dein Prog in Delphi ist, dann mach mal folgende Schritte:
1)onClose-Prozedur erstellen
2)Globale Bool-Variable erstellen und auf false setzen
3)in die onClose-Prozudur folgendes schreiben:
ausblenden Quelltext
1:
2:
3:
4:
if globvalevariable=false then
  showmessage('Bitte Menueeintrag benutzen');
  Action:=caNone;
end;

4) Und wenn auf deinen Beenden-Butten gedrückt wird, vor dem Form1.close o.ä. Befehl die Globale Boolvariable auf true setzen.

Action:=caNone; bedeutet, das die CloseAnweisung unterbunden wird.


Eine andere möglichkeit währe, in die onclose Prozedur das Herunterfahren reinschreiben.
Psychoholic Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 09.11.02 12:13 
Hallo!
Das Problem ist ja eben, daß mein Programm leider kein Delphi-Programm ist. Sonst wäre dies einfach und man könnte den Closebutton ja auch einfach ausblenden. Aber leider muß ich das Schliessen des Programms in einem externen Programm (nicht Delphi) verhindern. :(

Grüße, Roland
Moritz M.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1672



BeitragVerfasst: Sa 09.11.02 12:32 
Hmmm...das ist dann wirklich ein problem.
Wie das geht, weiß Ich nicht. Versuchs mal mit Hooks.
Psychoholic Threadstarter
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Sa 09.11.02 12:53 
Onz hat folgendes geschrieben:
Versuchs mal mit Hooks.


Was ist denn Hooks?
Moritz M.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1672



BeitragVerfasst: Sa 09.11.02 12:55 
Hooks (Mehrzahl von Hook) fangen eingaben und Signale ab, bevor die Signale das Programm erreichen. Hier im Forum gibts ein tutorial dazu.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 09.11.02 18:24 
So lange er nicht die Ressourcen des Programmes ändert oder es sonst irgendwie modifiziert muß immer ein eweiteres Programm laufen um das zu erreichen. Hooks wären nur eine Lösung, welche aber auf ie Performance des Systems drücken. Eine andere Lösung wäre es sich das Handle des Schließen-Buttons zu holen und ihn zu deaktivieren. Meiner Meinung nach die bessere Lösung und dann kann man sein Programm auch wieder beenden.
Oder mal den Hersteller auf das Problem aufmerksam machen, damit er es behebt, was wohl die allerbeste Lösung wäre.

PS: Ich habe hier schon öfters Code gepostet, wie man etwas in fremde Edits schreibt oder fremde Buttons klickt. Einfach mal suchen, ich habe keien Lust das schon wieder zu posten.