Re: [fpc-pascal] Shared libries

2011-12-12 Thread Tomas Hajny
On 12 Dec 11, at 17:17, nore...@z505.com wrote: > > On 12 Dec 2011, at 19:56, nore...@z505.com wrote: > > > >> procedure proc1; stdcall; > >> begin > >> writeln('hello'); > >> end; exports proc1; > >> > >> procedure proc2; stdcall; > >> begin > >> writeln('hello 2'); > >> end; exports proc2; > >>

Re: [fpc-pascal] Shared libries

2011-12-12 Thread noreply
> > On 12 Dec 2011, at 19:56, nore...@z505.com wrote: > >> procedure proc1; stdcall; >> begin >> writeln('hello'); >> end; exports proc1; >> >> procedure proc2; stdcall; >> begin >> writeln('hello 2'); >> end; exports proc2; >> >> >> end. >> >> >> Notice how I put exports in several places... >>

Re: [fpc-pascal] Shared libries

2011-12-12 Thread noreply
> >> >> >> Well maybe ExportAll compiler feature should be suggested? >> >> But please try this >> >> unit Unit1; >> >> {$mode objfpc}{$H+} >> >> interface >> >> procedure proc1; stdcall; >> procedure proc2; stdcall; >> >> implementation >> >> >> procedure proc1; stdcall; >> begin >>writeln('he

Re: [fpc-pascal] Shared libries

2011-12-12 Thread Torsten Bonde Christiansen
Well maybe ExportAll compiler feature should be suggested? But please try this unit Unit1; {$mode objfpc}{$H+} interface procedure proc1; stdcall; procedure proc2; stdcall; implementation procedure proc1; stdcall; begin writeln('hello'); end; exports proc1; procedure proc2; stdcall

Re: [fpc-pascal] Shared libries

2011-12-12 Thread Jonas Maebe
On 12 Dec 2011, at 20:17, Torsten Bonde Christiansen wrote: > On 2011-12-12 20:04, Jonas Maebe wrote: >> It only partially works. Please see the bug report I mentioned earlier: >> http://bugs.freepascal.org/bug_view_advanced_page.php?bug_id=16070 > > Does this just mean I have to compile my lib

Re: [fpc-pascal] Shared libries

2011-12-12 Thread Torsten Bonde Christiansen
On 2011-12-12 20:04, Jonas Maebe wrote: On 12 Dec 2011, at 19:56, nore...@z505.com wrote: procedure proc1; stdcall; begin writeln('hello'); end; exports proc1; procedure proc2; stdcall; begin writeln('hello 2'); end; exports proc2; end. Notice how I put exports in several places... It

Re: [fpc-pascal] Shared libries

2011-12-12 Thread Jonas Maebe
On 12 Dec 2011, at 19:56, nore...@z505.com wrote: > procedure proc1; stdcall; > begin > writeln('hello'); > end; exports proc1; > > procedure proc2; stdcall; > begin > writeln('hello 2'); > end; exports proc2; > > > end. > > > Notice how I put exports in several places... > > It works on

Re: [fpc-pascal] Shared libries

2011-12-12 Thread noreply
> On 2011-12-12 00:48, nore...@z505.com wrote: >> >>> Ok, thanks for clearifying that. I guess it's going to be a lot of >>> include files instead... :) >>> >>> -Torsten. >> >> >> Why do you need include files in your case? >> You can put the units in the uses clause of your library. > Because it i

Re: [fpc-pascal] Shared libries

2011-12-11 Thread Torsten Bonde Christiansen
On 2011-12-12 00:48, nore...@z505.com wrote: Ok, thanks for clearifying that. I guess it's going to be a lot of include files instead... :) -Torsten. Why do you need include files in your case? You can put the units in the uses clause of your library. Because it is still going to give me a

Re: [fpc-pascal] Shared libries

2011-12-11 Thread Jonas Maebe
On 12 Dec 2011, at 00:48, nore...@z505.com wrote: > In newer versions of FPC it allows you to put an exports clause in the > unit itself, but older versions didn't allow it. > > http://bugs.freepascal.org/bug_view_page.php?bug_id=4398&history=1 That functionality is buggy and cannot be used saf

Re: [fpc-pascal] Shared libries

2011-12-11 Thread noreply
> Ok, thanks for clearifying that. I guess it's going to be a lot of > include files instead... :) > > -Torsten. Why do you need include files in your case? You can put the units in the uses clause of your library. library something; uses someunit; exports someunit.yourproc; end. The so

Re: [fpc-pascal] Shared libries

2011-12-11 Thread Torsten Bonde Christiansen
On 2011-12-11 23:30, Jonas Maebe wrote: On 11 Dec 2011, at 23:18, Torsten Bonde Christiansen wrote: So in the following example "foo" would not be visible (neither as "foo" nor "bar") to other program (eg. a C-program) unless I added an *exports* section? Correct. See also http://bugs.freepa

Re: [fpc-pascal] Shared libries

2011-12-11 Thread Jonas Maebe
On 11 Dec 2011, at 23:18, Torsten Bonde Christiansen wrote: > So in the following example "foo" would not be visible (neither as "foo" nor > "bar") to other program (eg. a C-program) unless I added an *exports* section? Correct. See also http://bugs.freepascal.org/bug_view_advanced_page.php?bu

Re: [fpc-pascal] Shared libries

2011-12-11 Thread Torsten Bonde Christiansen
On 2011-12-11 22:57, ik wrote: On Sun, Dec 11, 2011 at 23:35, Torsten Bonde Christiansen mailto:t...@epidata.dk>> wrote: Hi. I'm trying to create a shared library (under linux) and I not sure what the difference between the modifier *export* and the section *exports* is? Or

Re: [fpc-pascal] Shared libries

2011-12-11 Thread ik
On Sun, Dec 11, 2011 at 23:35, Torsten Bonde Christiansen wrote: > Hi. > > I'm trying to create a shared library (under linux) and I not sure what the > difference between the modifier *export* and the section *exports* is? Or > perhaps > when to use one and the other... > export means that you

Re: [fpc-pascal] Shared libries

2011-12-11 Thread noreply
> Hi. > > I'm trying to create a shared library (under linux) and I not sure what > the > difference between the modifier *export* and the section *exports* is? > Or perhaps > when to use one and the other... Just different ways of doing it. You can export each one, or you can use exports clause

[fpc-pascal] Shared libries

2011-12-11 Thread Torsten Bonde Christiansen
Hi. I'm trying to create a shared library (under linux) and I not sure what the difference between the modifier *export* and the section *exports* is? Or perhaps when to use one and the other... I have read both the programmers guide (7.2) and reference guide (11.9.3) but this didn't really