AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 22:17

Parameter dieser Suchanfrage:

Suche in Thema: In Konsolenanw. auf Firebird-Events reagieren?
Suche alle Beiträge, die von "RSE" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 10 von insges. 10 Treffern
Suche benötigte 0.002s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 7. Dez 2012
    Man hat 5 Sekunden für CTRL_CLOSE_EVENT und 20 für CTRL_LOGOFF_EVENT und CTRL_SHUTDOWN_EVENT.

    http://www.codeproject.com/Articles/2357/Console-Event-Handling

    Auf diesen Timeout habe ich auch im Kommentar in meinem Quelltext hingewiesen. Beziffert habe ich ihn nicht, da ich weder verlässliche Quellen (Microsoft-Dokument) noch Hinweise auf Unterschiede in verschiedenen Windows-Versionen...
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 7. Dez 2012
    Lösung: Die Prozedur ConsoleEventProc, die mit SetConsoleCtrlHandler registriert wird, läuft asynchron zum Programm in einem anderen Thread. Wenn diese Prozedur beendet wird, wird das Programm "von außen" beendet, sobald offenbar ein weiterer Thread wieder rechenzeit bekommt. Jedenfalls werden nach Beendigung der Prozedur ConsoleEventProc noch ein paar wenige Befehle ausgeführt, bevor das...
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 6. Dez 2012
    Ich habe gar keine Unit Forms benutzt, zumindest steht es nicht in MEINER Uses-Liste. Habe ich trotzdem ein Application-Objekt?

    Ich habe dein ConsoleEventProc übernommen, diese Möglichkeit war mir noch unbekannt. So kann ich jetzt wenigstens auch darauf reagieren, dass einfach die Konsole geschlossen wird. Allerdings verstehe ich den Ablauf noch nicht ganz. ConsoleEventProc sieht bei mir...
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    @tsteinmaurer: Wenn du meinen ersten Beitrag aufmerksam gelesen hättest, wüsstest du, dass ich genau das gleiche mit den IBDACs mache. Nur kommt der Event eben durch eine Windows-Message in dein Programm, und wenn die nie bei der Komponente ankommt, kann die den Event nicht auslösen. Und da eine Konsolenanwendung nicht von Haus aus eine Message-Schleife hat, musste ich die selbst bauen. Das wird...
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    Sehr richtig. Ich hatte schon Angst, dass jemand etwa sagen würde, weil ich mir ständig selbst geantwortet habe... :roll: Ich danke dir deshalb sehr für deinen Post! :-D
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    ReadConsole hat tatsächlich gewartet, bis eine Eingabe erfolgt, bevor es zurückkehrt. Damit hat es natürlich den restlichen Programmablauf blockiert...
    Die funktionierende Lösung ist die folgende:
    procedure ProcessMessages;
    var
    SIN: Cardinal;
    Num: Cardinal;
    IR: TInputRecord;
    begin
    SIN := GetStdHandle(STD_INPUT_HANDLE);
    repeat
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    Wenn ich die Schleife folgendermaßen erweitere, dann kann ich das Programm zwar sauber beenden, aber dann bekomme ich die Events nicht mehr:
    repeat
    if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
    DispatchMessage(Msg)
    else
    if ReadConsole(GetStdHandle(STD_INPUT_HANDLE), @Key, 1, NumRead, nil) and
    (NumRead > 0) then
    Exit
    else
    Sleep(0); //...
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    Also mit folgendem Konstrukt empfange ich schon mal den Event:
    repeat
    if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
    begin
    DispatchMessage(Msg);
    end
    else
    Sleep(0); // Rest der Zeitscheibe verwerfen
    until False;
  • Forum: Sonstige Fragen zu Delphi

    AW: In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    Könnt ich schon, aber wie soll mein Window dafür sorgen, dass der TIBCAlerter Messages empfängt? Ich weiß ja nicht mal was der als "Antwortadresse" angibt. Der Alerter registriert sich ja für Messages beim Firebird-Server, das heißt, dass der seine Antworten an irgendwen schicken muss. Ich halte es für unwahrscheinlich, dass der Alerter mein Fenster als "Antwortadresse" angibt.

    Wenn man davon...
  • Forum: Sonstige Fragen zu Delphi

    In Konsolenanw. auf Firebird-Events reagieren?

      Delphi
      by RSE, 5. Dez 2012
    Hallo,

    ich möchte eine kleine Konsolenanwendung schreiben, die auf Firebird-Events wartet und ein Script ausführt, wenn der Event eintritt. Als DB-Kompos verwende ich TIBCConnection und TIBCAlerter der IBDAC Komponentensammlung. In meiner GUI-Anwendung kann ich damit problemlos die Events empfangen, in der Konsolenanwendung nicht. Durch einen Blick in meine magische Glaskugel bin ich darauf...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=RSE&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=171974
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 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