Hi Viktor,
 
As you can see on my other mail, the problem is nearly solved.
 
On the other hand, you are right, .hrb files should be a better alternative in 
term of multi platform use.
 
Is there any sample or howto doc somewhere ?
 
Thanks,
 
JF,
 
De : harbour-boun...@harbour-project.org 
[mailto:harbour-boun...@harbour-project.org] De la part de Viktor Szakáts
Envoyé : mercredi 18 mars 2009 10:37
À : Harbour Project Main Developer List.
Objet : Re: [Harbour] pCode dll
 
Hi JF,
 
I don't understand the concept and implications of pure pcode 
.dll at all :) so I rather just listen to this thread, but for sure 
maindllp.c doesn't seem to be used *anywhere* in Harbour.
 
Also, it would be good to know the concept here, as some certain 
core API functions are declared in hbtypes.h and maindllp.c, but 
why specifically these? What happens if someone creates a -gc3 .dll?
 
Just plain guess, but maybe we should generate a hbmaindllp lib, 
and include it in hbmk2 when building a .dll.
 
In general terms I wonder what would be the benefit of using 
pure pcode .dlls (with all the portability and other technical 
complications with them) when we have our own native pcode .hrb.
 
Brgds,
Viktor
On Wed, Mar 18, 2009 at 9:56 AM, J. Lefebvre <j...@mafact.com> wrote:
J I like the idea of free discusion about general concept, but we first face a 
more basic problem.
 
Either on full Borland or full MSVC (no mix of compiler) You can create a pure 
pcode dll, you can load it, but it does'nt work at all, even dynamically (using 
HB_LIBLOAD, HB_LIBDO).
 
It seem that the exe generated does'nt export some needed function (like, at 
least,  hb_vmProcessDynLibSymbols, called from maindllp.c ).

I tried to add it to hbvmpub.ch (like hb_vmExecute ) but it does'nt solve 
anything.
 
For hb_vmExecute(), here is what we can found into hbvmpub.h.
"extern HB_EXPORT void hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols ) 
HB_FLATTEN_ATTR;  /* invokes the virtual machine */"

How could I render those two functions exported. If I do impdef myexe.def 
myexe.exe, nothing is exported ?
 
Any Idea, I'm ready to try to make it work but I need some idea on "where or 
what" to search .
 
Thanks to all,
 
Regards,
 
JF,
 
De : harbour-boun...@harbour-project.org 
[mailto:harbour-boun...@harbour-project.org] De la part de Viktor Szakáts
Envoyé : mercredi 18 mars 2009 0:45
À : Harbour Project Main Developer List.
Objet : Re: [Harbour] pCode dll
 
> /half-off-off
ALL are basically compatible, read below:

OWatcom: I suggest you have oWatcom Harbour flags standardized as what
other compilers use as of now. Take a look at -s and -r switch (default
is -r which is "use register calling convention"). Other Windoze
compiler are using -s equivalent (-s = "stack calling convention").It's
should be OK if you're using -r but the creation of import library
become rather clumpsy, because -r append an underscrore AFTER symbol
name.
 
Thanks for the owatcom tip Andi. In OpenWatcom 1.8 -s and -r mean 
something different, but the same idea can be accessed using s and r 
postfixes for CPU family switches.
 
MSVC,POCC,ICC and GCC are fully compatible. We can easily rename an
MSVC-created import lib to GCC name, ie. harbour.lib->libharbour.a.

Borland VS MSVC family only differs in an underscore. Borland requires
an underscore IN FRONT OF symbol name. Take a look at switch -a in
Borland's IMPLIB.EXE/IMPDEF.EXE.
 
Yes, problem is that it's not binary compatible, it needs implib tricks 
(sometimes manual editing of .def files) and app rebuild. So it's practically 
not very usable. I just can wonder what was the goal of Borland with this idea.
 
Brgds,
Viktor
 

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour
 
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to