tw9089b.pp 640 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. { %target=win32,win64,wince,darwin,linux,freebsd,solaris,beos}
  2. { %norun }
  3. { %needlibrary }
  4. library tw9089b;
  5. {$mode objfpc}{$H+}
  6. const
  7. {$ifdef windows}
  8. libname='tw9089a.dll';
  9. {$else}
  10. libname='tw9089a';
  11. {$linklib tw9089a}
  12. {$endif}
  13. var
  14. myvar: longint; cvar; external;
  15. function Test: Integer; cdecl; export;
  16. begin
  17. Result := 0;
  18. Writeln('Test');
  19. end;
  20. exports
  21. Test;
  22. var
  23. t: text;
  24. initialization
  25. Writeln('INIT2');
  26. if (myvar<>-1) then
  27. halt(3);
  28. finalization
  29. Writeln('FINI2');
  30. myvar:=1;
  31. { so tw9089d can check whether the finalization has run at all }
  32. assign(t,'tw9089b.txt');
  33. rewrite(t);
  34. close(t);
  35. end.