> From: hinsta...@yandex.ru > To: fpc-pascal@lists.freepascal.org > Date: Sun, 2 Feb 2014 15:31:00 +0400 > Subject: Re: [fpc-pascal] fp universal library ? > > > > 02.02.2014, 02:45, "Fred van Stappen" <fi...@hotmail.com>: > >> > Yep, thanks Michael. > >> > > >> > Hum, may i export dynamic array ? > >> > >> No, you'll need to export these as (typed) pointers and a count. > >> > >> Regards, > >> Sven > > > > Re-Aaaaargh, ok, (and i understand now why the library-examples are so > > simple :-) ). > > > > Many thanks for that brilliant explanations. > > > > Ok, so i have to re-consider all the unit and forget the oop way and > > re-write more procedural (Yes/No ?). > > I think it should be layered. I tried to visualize the idea; take a look plz > http://s17.postimg.org/oc24gbc27/Untitled_Diagram.png > One should not write all units in procedural style to make library accessible > from other languages. A better approach is to create API layers. For example > to make FPC library accessible from Java and C# consider creating the > following layers: > FPC Library core <-> FPC Library procedural layer > Procedural layer to Java OO > Procedural layer to C# > it should be like first API descends from OO level with FPC objects to > procedural layer to make it accessible from java, then there should be java > layer which "converts" it back from procedural flattened level to OO level > with Java objects. > > AFAIK some libraries are designed like this. > To further generalize the idea, consider this scheme: > Language A OO <-> Language A proc. <-> dynamic lib <-> Language B proc. <-> > Language B OO > > So the point is: of course you should NOT rewrite ALL units. Create a > procedural bridge instead and then bridges for other languages like I tried > to explain > Of course choosing the right approach for this task it is up to you because > no one knows your library better than you
Hello Hinstance and many thanks for advices. What i will do is, like you said, not try to transform the actual working unit into a library but create a new file ( like the header file in c ) and in uses add the working unit. And that header file will be the "library" file with link to the working unit, with simple function-procedure... I will give you news later. Thanks
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal