AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Reason entspricht nicht DLL_PROCESS_DETACH
Thema durchsuchen
Ansicht
Themen-Optionen

Reason entspricht nicht DLL_PROCESS_DETACH

Ein Thema von StTüff · begonnen am 28. Feb 2007 · letzter Beitrag vom 5. Mär 2007
 
StTüff

Registriert seit: 3. Dez 2002
132 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Reason entspricht nicht DLL_PROCESS_DETACH

  Alt 5. Mär 2007, 07:37
Ich glaube ich habe jetzt auch die passende Stellen gefunden:
Delphi-Quellcode:
procedure _InitLib;
asm
        { ->    EAX Inittable   }
        {       [EBP+8] Hinst   }
        {       [EBP+12] Reason }
        {       [EBP+16] Resvd  }

        MOV EDX,offset Module
        CMP dword ptr [EBP+12],DLL_PROCESS_ATTACH
        JNE @@notInit

        PUSH EAX
        PUSH EDX
        MOV ModuleIsLib,1
        MOV ECX,[EBP+8]
        MOV HInstance,ECX
        MOV [EDX].TLibModule.Instance,ECX
        MOV [EDX].TLibModule.CodeInstance,0
        MOV [EDX].TLibModule.DataInstance,0
        CALL InitializeModule
        POP EDX
        POP EAX

@@notInit:
        PUSH DllProc
        MOV ECX,offset TlsProc
        CALL _StartLib
end;

// ExitLib is the same as InitLib in Windows.
und für unload:

Delphi-Quellcode:
function _ExitLib: Integer; cdecl;
asm
{$IFDEF DEBUG_STARTUP}
        INT 3
{$ENDIF}
        PUSH EBP
        MOV EBP,ESP
        PUSH UNWINDFI_TOPOFSTACK
        XOR EAX,EAX
        PUSH DLL_PROCESS_DETACH // InitContext.DLLInitState
        PUSH EDI
        PUSH ESI
        PUSH EBX
        PUSH EBP
        PUSH EAX // InitContext.Module
        PUSH EAX // InitContext.InitCount
        PUSH EAX // InitContext.InitTable (filled in later)
        PUSH EAX // InitContext.OuterContext
        MOV EAX,ESP
        CALL InnerExitLib;
        ADD ESP, 16
        POP EBP
        POP EBX
        POP ESI
        POP EDI
        MOV ESP,EBP
        POP EBP
end;
Hier hören aber meine Kentnisse auf.
Wie kann ich ich hier Debuggen?

Gruß,

StTüff
  Mit Zitat antworten Zitat
 


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 06:05 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