Einzelnen Beitrag anzeigen

Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#1

DLL Callback und Threads..

  Alt 7. Okt 2024, 13:04
Ich hätte eine Designfrage zu einer neuen DLL an der ich gerade arbeite:

Dazu muss ich sagen, das ich bisher bereits länger eine einsetze die auf Basis von Postmessage arbeitet (mit eigenem Fenster im Hintergrund) und daraus Callbacks durchführt.

Die DLL hat eine reine C-Schnittstelle (damit sie aus jeder Programmierumgebung verwendet werden kann) und das soll auch so bleiben. Ich brauche sie aber u.U. auch für Linux und daher dachte ich ich setze das mit der Delphi Threading-Unterstützung um (ich hoffe wenn ich auf reine Boardmittel setze funktioniert das auch? Kann das jemand bestätigen?). Bisher habe ich meine Threads selber verwaltet und auf Delphi-Klassen komplett verzichtet.
Die DLL erlaubt es Verbindung mit externen Geräten aufzunehmen, für jedes wird dann ein Thread erzeugt, der die Kommunikation mit dem Gerät durchführt und etwaige Resultate per Callback zurückgibt.

Mit meiner reinen Delphi-Variante funktioniert das auch bereits "einigermaßen", leider muss man ja, damit die Synchronisierung funktioniert von außen im OnIdle (so mach ich das aktuell über eine exportierte Funktion) CheckSynchronize() aufrufen. Das ist für Delphi-Lösungen vermutlich akzeptabel, aber aus anderen Umgebungen heraus eventuell schwierig?

Die Fragen die ich habe:
Ist das bereits die beste Umsetzungsmöglichkeit?
Funktioniert das auch unter Linux (meine Linuxerfahrung bisher erschöpft sich an der Kommandozeile)?
Gibt es Vorschläge, wie man das verbessern/besser umsetzen kann?
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat