Seite 2 von 2

Verfasst: Do 08 Jan 2004, 15:32
von Levithan
JtG einfach 'ne COM-Schnittstelle zu spendieren
Um Timer zu setzten ?
Da muss ich mich erst schlau lesen.

Verfasst: Do 08 Jan 2004, 15:42
von Gag Halfrunt
Man kann auch mit Atombomben auf Ammöben schießen ;)

Ich denke mal, ich pack das auch so, indem ich in die MDB schreibe und Dir den Regkey setze...
Da hab ich letztlich mehr Kontrolle, weil ich nicht erst einen Wrapper für das Interface schreiben muss, die Liste intern aufbauen und dann bei gewünschten Änderungen einen Differenzabgleich vornehmen muss.

Na, mal sehen, vielleicht hab ich am Wochenende mal wieder ein paar Minuten Zeit, meinen Beruf auch in meiner Freizeit weiter zu betreiben...

Gag

Verfasst: Fr 09 Jan 2004, 18:52
von Pedant
Hallo Gag,
meinen Beruf auch in meiner Freizeit weiter zu betreiben...
Beruf kommt doch von Berufung.

Gruß und schönes Wochenende, Frank

Verfasst: Fr 09 Jan 2004, 21:04
von Gag Halfrunt
Oder von Geldnot... ;)

Denn eigentlich wollte ich ja Holzfäller werden :D:D:D

Verfasst: Mi 14 Jan 2004, 13:52
von crdgnom
Moin Leute!

Datenbank zu aktualisieren, wenn Du einen RegSchlüssel setzt:
CurrentMachine/Software/JtG/Timer/Read=1.
Jack prüft alle 10 sec (immer nach Abschluss der Timerlistenüberprüfung) ob dieser Schlüssel 1 ist. Ist er 1 werden die Timer aus der DB geholt und der Schlüssel wieder auf 0 gesetzt.
Den RegKey gibt es, sobald Du das erste Mal Timer über den Timerserver übermittelt hast.
@Lev
Mir würde es besser gefallen, ich müßte nur einen Eintrag in dem mdb-File setzen (Feld mit Typ bit oder so).
Dann müsste man nur via ADO o.ä. mit dem mdb-File kommunizieren.
Was meinst Du?
Ich weiß, alles eine Frage des Geschmacks!
:o)

@Gag
Ich halte die Kommunikation über Messages für so einen Anwendungsfall nicht unbedingt zielführend!
Leichter overkill!
;-)

Gruß,
CHRIS.

Verfasst: Mi 14 Jan 2004, 14:40
von Gag Halfrunt
@crdgnom: Ich fände es nicht so dolle, wenn wir dieses "Magic" in die Datenbank verschieben. Dann müsste JtG die gesamte Zeit -- oder eben in diesen Intervallen -- die Datenbank offen halten. Und dann ist es wiederum schlecht mit dem Zugriff von außerhalb.

Davon ab, ist ein Message-Handler eine Zeile Code in JtG und für den Aufrufer ebenfalls nur ein einziger Befehl. SendMessage. Mehr nicht. Von "Overkill" kann da also nicht die Rede sein.
Informationen zu pollen ist immer eine der unelegantesten bis hässlichsten Lösungen. Deshalb gibt es ja die ereignisgesteuerte Verarbeitung, auf der das gesamte Windows-System basiert.

Einige Veteranen wissen vielleicht noch, dass "damals" ein nicht näher zu nennender Hersteller eines nicht näher zu nennenden Brotkastens auch der Meinung war, dass man ruhig die Tastatur pollen könnte, statt von ihr einen Interrupt aufrufen zu lassen... :D:D:D

In diesem Sinne,

Gag

Verfasst: Mi 14 Jan 2004, 16:53
von crdgnom
Moin Gag!
@crdgnom: Ich fände es nicht so dolle, wenn wir dieses "Magic" in die Datenbank verschieben. Dann müsste JtG die gesamte Zeit -- oder eben in diesen Intervallen -- die Datenbank offen halten. Und dann ist es wiederum schlecht mit dem Zugriff von außerhalb.
Ist IMO kein Problem, wenn man beispielsweise mit einem Locktype readonly arbeitet. Die Performance beeinträchtigt das auch nicht nennenswert.
Ob Registry oder mdb-File ist Jacke wie Hose, nur das die Registry ggf. sehr sehr viel größer sein kann! ;-)
SendMessage. Mehr nicht. Von "Overkill" kann da also nicht die Rede sein.
Hm. Hört sich doch ganz schlau an. :ja:
Habe noch nie mit Messages gearbeitet. Sollte ich mir mal ansehen...

In diesem Sinne,
Chris.

Verfasst: Mi 14 Jan 2004, 16:56
von Kaligula
Hi,

War die Registry nicht dafür gedacht Konfigurationen abzulegen? Von Dynamischen Schaltern in der Registry halte ich auch nicht so viel. Dazu ist das Ding schon jetzt viel zu empfindlich.

Verfasst: Mi 14 Jan 2004, 17:29
von Gag Halfrunt
@Kaligula: Meine Rede!

@crdgnom: Was hast Du denn bisher gemacht? Wenn Du auch nur annähernd irgendwas mit Windows-Programmierung machen willst, kommst Du um das Messaging-System gar nicht herum. Wie gesagt: Das gesamte Windows basiert auf Fensternachrichten, mit denen die Ereignisse gemeldet werden. Es sind quasi die ureigensten Funktionen im Windows-System. Jeder Tastendruck, jede Mausbewegung löst eine Message aus, die an das betreffende Fenster geschickt wird.

Ich möchte jetzt niemanden zu nahe treten, aber die Lösung mit dem Registry-Schalter oder irgend einem anderen Flag, der in Intervallen abgefragt wird, ist einfach Kinderkacke. So kann man sich vielleicht in Makro-Deluxe (=VB) was zusammenschustern. Aber jedes Polling verursacht nur unnötigen Traffic im System.
Sowas kann man in Ausnahmefällen verwenden. Aber normalerweise gibt es da deutlich bessere Varianten.

Gag

Verfasst: Mi 14 Jan 2004, 17:40
von crdgnom
@Gag
Was hast Du denn bisher gemacht?
Ich programmiere mit "Makro-Deluxe" ein BDE-System für meinen Arbeitgeber. Kommt prima ohne Messages klar (die ich selbst programmiere- wohlgemerkt!)

Sicherlich ist SendMessage und ein MessageHandler die Lösung der reinen Lehre. Und wenn man den Kram täglich braucht, ist das sicherlich ein Klacks. Ich hätte allerdings jetzt nicht viel Zeit und Lust mich da reinzuschrauben, auch wenn's interessant klingt.

Allerdings denke ich auch, dass bei Rechnern der gestrigen und sowieso heutigen Leistungskategorie ein Polling alle n Sekunden nicht zu viel Traffic verursacht. Auch wenn's aus Deiner Sicht "Kinderkacke" ist.

Du bist C-Programmierer- leite ich aus Deinen Aussagen ab!

Gruß,
Chris.

Verfasst: Mi 14 Jan 2004, 17:43
von Levithan
@Gag: Du hast Deinen Standpunkt nun eindeutig dargelegt.
Trotzdem bleibe ich dabei, egal ob es Kinderkacke ist oder nicht.
Auch der "Nichtprogrammierer" soll die Möglichkeit haben, den Event auszulösen. Ist da ist die Reg. das kleinste Übel, wobei ich das nicht als Übel empfinde.

Levi