AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DLL doppelt nutzen

Ein Thema von norwegen60 · begonnen am 16. Dez 2021 · letzter Beitrag vom 17. Dez 2021
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#1

AW: DLL doppelt nutzen

  Alt 16. Dez 2021, 14:11
Vielen Dank für die schnellen Antworten. Ich hatte geahnt, dass es nicht geht, aber oft gibt es eben doch ein Hintertürchen.

Das Konflikt-Potential ist mir bewusst. Deshalb hatte ich es extra erwähnt.

Ein Wrapper oder eine anderst geartete Zwischenschicht ist nicht möglich, da die eigentliche Anwendung existiert und nicht angefasst werden soll.

Ziel war es, parallel zu dieser Erstanwendung ein Logger zu hängen, der bei bestimmten Grenzwerten/Ereignissen anfängt die Messdaten zu loggen. Wenn man die Anwendung oder DLL ändern könnte, könnte man das direkt dort implementieren. Schön wäre es eben gewesen, ich könnte die Log.exe wie ein Snifferkabel parallel hängen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.757 Beiträge
 
Delphi 12 Athens
 
#2

AW: DLL doppelt nutzen

  Alt 16. Dez 2021, 15:45
Schön wäre es eben gewesen, ich könnte die Log.exe wie ein Snifferkabel parallel hängen.
Sowas habe ich schon mal mit Virtuellen Com-Ports realisiert. Man legt zwei virtuelle Ports an und verbindet die mit einem virtuellen Null-Modem Kabel. Die Applikation wird auf den einen virtuellen Port eingestellt und der Sniffer lauscht auf dem anderen und schleift alles auf den realen Port weiter (und umgekehrt). Es gibt aber auch schon fertige Sniffer-Tools für diesen Zweck.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.912 Beiträge
 
Delphi 12 Athens
 
#3

AW: DLL doppelt nutzen

  Alt 16. Dez 2021, 17:07
Wenn ich Dich richtig verstanden habe, dann ist das ein typisches Szenario für einen Proxy.

In dem Fall baust Du Dir eine DLL mit den gleichen öffentlichen Schnittstellen wie die bestehende. Deine DLL macht dann nichts anderes, als alle Aufrufe an die ursprüngliche DLL weiter zu leiten. Dann kannst Du alle Daten, die durch Deine Proxy-DLL laufen beliebig mitloggen.

Wenn es zeitkritisch ist, würde ich den ganzen Datenstrom mitloggen und separat auswerten.

Dann brauchst Du Deine DLL dem Programm nur noch unterzujubeln.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP

Geändert von TBx (17. Dez 2021 um 07:23 Uhr)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#4

AW: DLL doppelt nutzen

  Alt 17. Dez 2021, 06:49
Wenn du eine weitere serielle Schnittstelle an dem Rechner hast, kannst du das auch hardwareseitig lösen. Dann einfach den RX Port der ersten Schnittstelle mit dem RX Port der 2. Schnittstelle verbinden. Wenn dann der Rechner schnell genug ist und keine Daten verliert, kannst du mit der 2. Schnittstelle alles mitlesen. Es darf dann aber kein Handshake benötigt werden. Das musst du halt sehen, was da an Daten ankommt.
Ist ähnlich den oben beschriebenen, hier nur auf Hardwareebene.
Habe ich auch schon einmal realisiert.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz