Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DLL (https://www.delphipraxis.net/424-dll.html)

Daniel B 18. Jul 2002 21:29


DLL
 
Hi Guys,

aaaalsooo, jetzt bitte nicht gleich mit Links nach mir werfen wo es um Programmierung von DLL's geht. Also Tuts o.ä.
Ich möchte erstmal wissen ob sowas machar ist. Aber ich denke schon.

Ich habe 3 Programme. Jedes dieser Programme kann auf ein Gerät das an der Schnittstelle hängt zugreifen. Aber eben immer nur ein Prog. gleichzeitig.
Ich möchte ein DLL(oder sowas in der Art) schreiben.
Diese Dll belegt für sich die Serielle.
Von den einzelnen Programmen, kann ich Befehle schicken und auch wieder Empfangen. Ich kann aber auch einfach nur so was zurück kriegen, ohne was befohlen zu haben.
Diese Dll müsste so ne art Buffer haben indem die ganze Informationen drin sind an die jeweiligen Programme schicken. Ich möchte also alle 3 programme gleihzeitig benutzen können.
Die Dll müsste also wissen von welchem Programm was kommt und an welchen die ganze Daten des Gerätes sie schicken müsste.
Ich denke das es bis hier nicht sooo katastrophal wäre. Für ein könner. Das problem dürfte eher folgendes sein.

Ich kann also vom Gerät irgendwann und irgendwas bekommen, ich müsste also entscheiden für welches dieser 3 Programme die Daten sind und an das entsprechende schicken.

Soweit erständlich :?:

Ich kanns noch genauer erklären, aber mir geht dann vielleicht die Tinte in der Tastatur aus. :mrgreen:

sakura 18. Jul 2002 21:34

Soweit verständlich, aber: Eine DLL wird von jedem Programm separat geladne, dass heisst, dass die DLL im Prog 1 nicht weiss, was die DLL in Prog 2 tut. Auf was für eine Zielplattform bist Du aus?

Daniel B 18. Jul 2002 21:40

Hi,

ME und NT/2k ist Pflicht. Das heisst also im prinzip, für alles was sich Windows nennt. :mrgreen:
Ich möchte also in allen Programmen die Befehle für die Schnittstelle rausschmeissen und dafür müssen da eben die Befehle an die Dll rein. Egal welches prog ich starte, dann soll eben die Dll gestartet/geöffnet werden. Wenn ich nun ein zweites Prog öffne dann soll es eben auf die bereits geladene Dll "springen".

Christian Seehase 18. Jul 2002 22:08

Moin Daniel B,

das klingt für mich allerdings eher nach einem Treiber oder Dienst, als nach einer DLL.
Oder aber ein Programm, das als Server im Hintergrund läuft, und die Schnittstelle bedient. Die anderen Programme melden sich dann als Client an, und werden entsprechend bedient.

Sollte es eine DLL sein, so müssten sich die verschiedenen Instanzen der DLL (siehe sakuras Posting) Speicher zum verwalten der Daten teilen. Das wäre wohl auch möglich (z.B. vielleicht über die GlobalAtomTable) aber sinnvoll erscheint es mir nicht.

Daniel B 18. Jul 2002 22:13

Dll war ja auch nur so ein Gedanke von mir.
Treiber ist natürlich auch möglich. auch andere sachen. Was euch noch so alles dazu einfällt. Aber bitte kein .NET :mrgreen:

Client/Server ist ein gutes Beispiel. So in der Art.

sakura 19. Jul 2002 09:23

Du könntest zum Beispiel eine externen COM Server (EXE COM Server) erstellen. Wenn Du den auf die Spitze treibst, dann machst Du einen DCOM Server, so dass verschieden Computer auf den gleichen zugreifen können. Da gibt es dann aber immer wieder Huddeleien mit den Windows-Domain Rechten.

:cat:

Daniel B 19. Jul 2002 13:26

Hi,

1. Davon hab ich keine Ahnung.
2. Möchte ich jetzt nicht die "High-End" Anwendung schreiben.

Es handelt sich dabei um Programme zum Steuern von Modelleisenbahnen. Diese Progs sind alle 500Kb bis 2MB klein. Sie machen halt nur viel mit der Schnittstelle.
Ich hba auch nur D6PE und weiss nicht ob ich diese ganzen COM sachen überhaupt machen kann, bzw. ob es sich für mich lohnt überhaupt damit anzufangen.

sakura 19. Jul 2002 13:33

Wenn Du mit der D6PE arbeitest, dann kannst Du durchaus COM entwickeln, musst aber alles von Hand machen, daher lohnt sich der Aufwand dann wohl eher nicht.

Aber es macht Spass, falls Du noch eine D5P oder D5E rumzuliegen hast. ;)

:cat:

Daniel B 19. Jul 2002 13:51

Zitat:

Zitat von sakura
Aber es macht Spass, falls Du noch eine D5P oder D5E rumzuliegen hast.

1. Ich habe nur D6PE.
2. Das mit dem COM fällt wohl aus.
3. Was sollte mir D5 bringen? Ich versteh da den zusammenhang nicht.

Ich werde mir warscheinlich D7Pro zulegen. Wenn es nicht (viel) teuerer ist als D6Pro. Mal sehen. Oder erst dann das D6Pro, weils dann günstig wird!?

sakura 19. Jul 2002 14:05

Der Zusammenhang existierte auch nicht, nur die Möglichkeit, dass Du u.U. eine der Versionen hast.

Aber mit D7Pro sollte es dann auch gehen, bis dahin musst Du Dir wohl oder über eine andere Lösung einfallen lassen. Eine richtig gute hätte ich aber leider auch nicht auf Lager.

:cat:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Seite 1 von 2  1 2      

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