AGB  ·  Datenschutz  ·  Impressum  







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

1 DLL für 2 EXEn ?

Ein Thema von arbu man · begonnen am 11. Jun 2006 · letzter Beitrag vom 11. Jun 2006
Antwort Antwort
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#1

1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 18:27
Hi,

ich habe 2 Exen die unter einander kommunizieren sollen. Damit das geht habe ich eine DLL die von Exe1 geladen wird, das Handle dieser DLL wird dann beim ausführen an Exe2 weitergegeben, wenn Exe2 nun versucht mit GetProcAddress einen Pointer auf eine Funktion zu erzeugen ist dieser nil. Was läuft da falsch ?
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: 1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 18:30
Du versuchst eine Adresse in einer DLL zu bekommen, die dein Prozess nicht geladen hat... Das muss schiefgehen

Wenn du was übergeben kannst, kuck dir doch mal Pipes an.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: 1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 18:34
Auch schon mal davon gehört das Exen unter Win32 komplett getrennte Adressräume haben? Die gilt auch für "normalen" Datenspeicher in gemeinsam geladenen DLL's.

Alternativen wären z.B.
- WM_COPYDATA
- eine Exe mit einer Automatisierungsschnittstelle ausstatten
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#4

Re: 1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 18:40
Zitat:
Auch schon mal davon gehört das Exen unter Win32 komplett getrennte Adressräume haben? Die gilt auch für "normalen" Datenspeicher in gemeinsam geladenen DLL's.
Ja, ich dache das könnte ich durch die DLL umgehen ,
aber das würde auch heißen mit einen Pointer uas Exe1 kann ich in Exe2 gar nichts anfangen oder ???

Was sind Pipes ? OH findet nichts DP viel aber nichts brauchabres.

eine Exe mit einer Automatisierungsschnittstelle ausstatten nur Wie ???
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: 1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 18:48
Zitat von arbu man:
Ja, ich dache das könnte ich durch die DLL umgehen ,
Es gibt die möglich gemeinsam genutzten Speicher vom BS anzufordern. Weis aber gerade den Funktionsnamen nicht.

Zitat von arbu man:
aber das würde auch heißen mit einen Pointer uas Exe1 kann ich in Exe2 gar nichts anfangen oder ???
Bingo. Eine Adresse $F2F2F2F in Exe A welche auf einem Datenbereich zeigt ist in Exe 2 eine Ausführbarer bereich. Die Adressen sind ja nur logische Adressen und das BS setzt diese mit Hilfe von "Umsetzlisten" und dem virtuellen Speichermanager in der CPU (man ist das Studium schon lange wieder her) auf die physikalische Adresse um.

Zitat von arbu man:
eine Exe mit einer Automatisierungsschnittstelle ausstatten nur Wie ???
In Delphi Menu Datei/Neu/Weitere... auswählen, Seite ActiveX, Eintrag Automatierungsobjekt und bevor du es einsetzt erst mal ein Buch/Tutorial über COM/ActiveX durchlesen um die Grundlagen zu verstehen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#6

Re: 1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 18:58
Zitat von Bernhard Geyer:
Zitat von arbu man:
eine Exe mit einer Automatisierungsschnittstelle ausstatten nur Wie ???
In Delphi Menu Datei/Neu/Weitere... auswählen, Seite ActiveX, Eintrag Automatierungsobjekt und bevor du es einsetzt erst mal ein Buch/Tutorial über COM/ActiveX durchlesen um die Grundlagen zu verstehen.
Dann blib ich doch lieber bei WM_COPYDATA das kann ich wenigstens

Danke an alle
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#7

Re: 1 DLL für 2 EXEn ?

  Alt 11. Jun 2006, 19:02
Zitat von Bernhard Geyer:
Es gibt die möglich gemeinsam genutzten Speicher vom BS anzufordern. Weis aber gerade den Funktionsnamen nicht.
Ging das nicht auch per GlobalMem?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 14:45 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