Page 1 of 1

Create a DLL with xharbour

Posted: Fri Nov 04, 2011 3:13 pm
by Marco Turco
Hi all,
I need to create a DDL with FWH+xHarbour.
I am trying to test tutor01.prg with buildhd.bat provided into the samples FWH folder but a maindll.obj is required .
Any solution using xHarbour ? Thanks in advance.

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 4:17 pm
by Rick Lipkin
Marco

Have a look at rc2dll32.bat in the \dll folder ..

I use both Borland and Resedit depending on my purpose :

Borland:

Code: Select all

rem RC file to 32 bits resources DLL
rem syntax: rc2dll32.bat Your_rc_file  !!! without the .RC extension

DEL ChurW32.DLL
DEL ChurW32.RC

COPY *.RC ChurW32.RC

C:\BORLAND\BCC55\BIN\bcc32 -c c:\fwh910\dll\screen32.c
C:\BORLAND\BCC55\BIN\brc32 -r %1.rc
C:\BORLAND\BCC55\BIN\ilink32 /Tpd c:\borland\bcc55\lib\c0d32.obj screen32.obj, %1.dll,,c:\borland\bcc55\lib\cw32.lib c:\borland\bcc55\lib\import32.lib,, %1.res
del *.iL?
del *.map
del *.obj
:del *.res
del *.tds
echo done!
 
Resedit:

Code: Select all

rem RC file to 32 bits resources DLL
rem syntax: rc2dll32.bat Your_rc_file  !!! without the .RC extension

DEL YACHTW32.RES
DEL YACHTW32.RC
DEL YACHTW32.DLL

COPY *.RC YACHTW32.RC


c:\resedit\resedit.exe -convert yachtw32.rc yachtw32.res
c:\resedit\resedit.exe -convert yachtw32.res yachtw32.dll


del *.iL?
del *.map
del *.obj
:del *.res
del *.tds
del *.~??
echo done!
 

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 4:42 pm
by Marco Turco
Ok but I don't want to convert a rc file in a dll but create a dll with functions inside, like tutor01.prg and testdll.prg to be clearr

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 5:59 pm
by Rick Lipkin
Marco

Lots of good 32-64 bit ( free ) Resource editors such as PellsC and Resedit. I am sure many other developers have their own favorite .. but I have found Resedit to be a single Executable and works great compiling resources from one format to another as well as creating .rc or .dll from scratch .. see screen shots.

Rick Lipkin

http://www.resedit.net/

Just download Resedit .. no need for any sdk

Image

Image

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 6:08 pm
by Marco Turco
Rick,
I don't want to convert a rc file in a dll but create a dll with functions inside, like tutor01.prg and testdll.prg to be clear

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 6:22 pm
by Enrico Maria Giordano
In other words, Marco doesn't want to create a resource DLL. He wants to build a DLL containing xHarbour functions. And before you ask me, no, I don't know how to do it (neither if it is possible at all).

EMG

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 6:34 pm
by Marco Turco
Thanks Enrico.
It is possibile for sure with harbour (there is the working tutor01/testdll into the samples FWH folder),
the problem I need to use xharbour for this and the obj file maindll.obj is missing in xHarbour

Re: Create a DLL with xharbour

Posted: Fri Nov 04, 2011 8:10 pm
by andijahja
Marco Turco wrote:Hi all,
I need to create a DDL with FWH+xHarbour.
I am trying to test tutor01.prg with buildhd.bat provided into the samples FWH folder but a maindll.obj is required .
Any solution using xHarbour ? Thanks in advance.
Hello,

Yes. There is quite an elegant solution with xHarbour. If you happen to have an SVN copy of xHarbour, please look at tests/pdllbc.bat. You can even create many small DLLs which can interact amongst themselves and of course the main program.

Re: Create a DLL with xharbour

Posted: Sat Nov 05, 2011 10:48 am
by Marco Turco
Hi Andy,
Do you mean pdl55.bat ?
Is there also a working sample of a dll and a call to that dll ?

Re: Create a DLL with xharbour

Posted: Sat Nov 05, 2011 10:12 pm
by andijahja
Marco Turco wrote:Hi Andy,
Do you mean pdl55.bat ?
Is there also a working sample of a dll and a call to that dll ?
Hello,

pdll55.bat was actually replaced by pdllbc.bat. Yes there is sample programs in test folder. Just execute pdllbc.bat without mentioning any program file. If you want to go deeper please read the file (pdllbc.bat)