home *** CD-ROM | disk | FTP | other *** search
- LIBRARY ReeDLL;
- (* Achtung: *)
- (* Verwenden Sie diese Version der ReeDLL nur dann, wenn Sie sie explizit *)
- (* d.h. über LoadLibrary in Ihrem Programm laden. Tun Sie das nicht, so *)
- (* werden Sie aller Wahrscheinlichkeit nach einen Unbehebbaren Fehler in *)
- (* Ihrem Anwendungsprogramm ernten. *)
-
- USES WinTypes, WinProcs;
-
- VAR
- Value: WORD;
- SaveExit: Pointer;
-
- FUNCTION GetValue: WORD; EXPORT;
- BEGIN
- GetValue := Value;
- END;
-
- PROCEDURE IncValue; EXPORT;
- BEGIN
- INC(Value);
- END;
-
- PROCEDURE SetValue (Val: WORD); EXPORT;
- BEGIN
- Value := Val;
- END;
-
- {$S-}
- PROCEDURE LibExit; FAR;
- BEGIN
- IF (ExitCode = wep_System_Exit) THEN
- BEGIN
- (* Windows wird heruntergefahren *)
- MessageBox (0, 'ReeDLL Mitteilung',
- 'Windows wird verlassen', mb_Ok);
- END;
- IF (ExitCode = wep_Free_DLL) THEN
- BEGIN
- (* DLL wird ausgelagert *)
- MessageBox (0, 'ReeDLL Mitteilung',
- 'DLL wird wieder ausgelagert', mb_Ok);
- END;
- ExitProc := SaveExit;
- END;
-
-
- EXPORTS
- GetValue INDEX 1,
- IncValue INDEX 2,
- SetValue INDEX 3;
-
- BEGIN
- Value := 0;
- MessageBeep(0);
- MessageBox (GetActiveWindow, 'ReeDLL Mitteilung',
- 'DLL wird in den Speicher geladen', mb_Ok);
- SaveExit := ExitProc;
- ExitProc := @LibExit;
-
- END.
-