AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Strings und DLL - OnCreate abfangen - und andere Probleme...
Thema durchsuchen
Ansicht
Themen-Optionen

Strings und DLL - OnCreate abfangen - und andere Probleme...

Offene Frage von "CherryDT"
Ein Thema von CherryDT · begonnen am 28. Apr 2010 · letzter Beitrag vom 2. Mai 2010
Antwort Antwort
CherryDT

Registriert seit: 28. Apr 2010
5 Beiträge
 
#1

Re: Strings und DLL - OnCreate abfangen - und andere Problem

  Alt 28. Apr 2010, 16:47
Hurraaaaa!

Das mit dem Memory Manager hat mein erstes Problem gelöst.

Ich mache das jetzt so:

FreeBASIC-Code:
Code:
' gets pointer to Delphi's memory manager
Function GetMemoryManager() As TMemoryManager Ptr
   #Define UNKNOWN &hCC
   Dim pattern(...) As UByte = {&h53, &h85, &hC0, &h7E, &h15, &hFF, &h15, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, _
      &h8B, &hD8, &h85, &hDB, &h75, &h0B, &hB0, &h01, &hE8, UNKNOWN, UNKNOWN, UNKNOWN, UNKNOWN, &hEB, &h02, _
      &h33, &hDB, &h8B, &hC3, &h5B, &hC3}
   Dim j As Integer = 0
   For i As UByte Ptr = &h401000 To &h40F000 Step 1
      If pattern(j) = UNKNOWN OrElse *i = pattern(j) Then
         j += 1
         If j > UBound(pattern) Then Return *CPtr(TMemoryManager Ptr Ptr, i - UBound(pattern) + 7)
      Else
         j = 0
      EndIf
   Next
   Return NULL
End Function
So kriege ich den Memory Manager der EXE.

In der DLL hab ich jetzt diese Funktion, die ich dann aufrufe: Ultimate_SetMemoryManager(GetMemoryManager())

Delphi-Quellcode:
function Ultimate_SetMemoryManager(memmgr: PMemoryManager): Boolean; stdcall;

begin
  Result := false;
  SetMemoryManager(memmgr^);
  Result := true;
end;
Übrigens: mich wundert, warum es ShareMem und sonstwelche Units dafür gibt, wenn es reichen würde, dass die DLL eine SetDLLMemoryManager-Funktion exportiert und man in der EXE dann einfach SetDLLMemoryManager(GetMemoryManager()) macht.

Danke Leute!

Problem 1 ist somit endlich gelöst!

Jetzt bleiben allerdings noch Problem 2 und 3!

mfG Cherry
  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 02:43 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