{Three Myths, figure 1. Copyright © 1992, Jon Shemitz}
library SimplDLL; {Sample export shells for an object oriented DLL}
uses SimplObj; {Exports objects from the SimplObj unit}
function Simple_Setup( Code: word; VMT: word; var Self): pointer; export;
type Cast = function (Code: word; VMT: word; var Self): pointer;
const MethodPtr: pointer = @ Simple.Setup;
begin
Simple_Setup := Cast(MethodPtr)(Code, VMT, Self);
end;
exports Simple_Setup index 1;
procedure Simple_Teardown(VMT: word; var Self); export;
type Cast = procedure (VMT: word; var Self);
const MethodPtr: pointer = @ Simple.Teardown;
begin
Cast(MethodPtr)(VMT, Self);
end;
exports Simple_Teardown index 2;
procedure Simple_Method(var Data; var Self); export;
type Cast = procedure (var Data; var Self);
const MethodPtr: pointer = @ Simple.DoSomething;
begin
Cast(MethodPtr)(Data, Self);
end;
exports Simple_Method index 3;
begin
end.
Copyright © 1992, Jon Shemitz - jon@midnightbeach.com - html markup 9-3-94