DLL problem -> Good News !

Roger Amar Roger at logram.com
Sat Dec 4 16:17:08 EST 2004


Hello Gordon, I'm back.

My dll started to work by adding a .def file to export the getXtable function.

The "DLL Article" provided by Revolution as a documentation on how to write External DLLs for Runtime Revolution is unnecessarily talkative and confusing.

For example this piece of code...

extern "C"
{
	void getXtable()
}

... generates an error either with VC++ or with CodeWarrior.

Other example :

"The Metacard / Revolution engine uses the Microsoft OBJ convention for Windows DLLs. Here's the convention you need to support:

1. arguments passed on the stack, not in registers
2. no prepended underscores in function names
3. function names are mixed case
4. calling, not called, function cleans up the stack
"
How to know?

The last example : the "Article" has forgotten to talk about the .def file !
( __declspec( dllexport ) void __cdecl getXtable(); is not able to export to >RR even with the full parameter set)

The so-called "Externals.rev" generates incomplete code where the .def is missing and no example is provided about the setting of the compiler/linker

On another words, this documentation is discouraging for those who want to develop a DLL.

My DLL is designed to return the physical address (MAC address) of the first lan controller. If you are interested, just ask by email to roger at logram.com and I'll send it to you with the source.
This offer is also available for those who want to receive it.

Thanks again for your very kind help.

Roger;




-----Message d'origine-----
De : use-revolution-bounces at lists.runrev.com [mailto:use-revolution-bounces at lists.runrev.com] De la part de Gordon Tillman
Envoyé : vendredi 3 décembre 2004 23:10
À : How to use Revolution
Objet : Re: DLL problem

Hi Roger!

I'm wondering if the problem is with different version of Codewarrior?  
check the following:

User Paths:

{Project}
{Project}../RunRevExternalSDK/

System Paths
{Compiler}MSL/
{Compiler}Win32-x86 Support

C/C++ Preprocessor

#define WIN32


Windows RC / Prefix File: ResourcePrefix.h

C/C++ Language

enable bool support
enable wchar_t support
require function prototypes
enums always int
reuse strings
auto-inline
bottom-up inlining



If you have questions you can give me a call:

800-937-8227

Just ask for me.

--gordon


On Dec 3, 2004, at 15:43, Roger Amar wrote:

> Hello Gordon,
>
> You are a very nice guy !
> When I try to compile your project I get 120 errors; here are some 
> samples of them :
>
> Error   : identifier expected
> shellapi.h line 53   DECLARE_HANDLE(HDROP);
>
> Error   : illegal function definition
> shellapi.h line 55   EXTERN_C DECLSPEC_IMPORT UINT STDAPICALLTYPE
>
> Error   : illegal function definition
> XCmdGlue.h line 39   } Xternal;
>
> Error   : illegal function definition
> ScanningServerPlugin.h line 5   void XCabort();
>
> Error   : illegal function definition
> ScanningServerPlugin.h line 6   char Xname[];
>
> Error   : illegal function definition
> ScanningServerPlugin.h line 7   Xternal Xtable[];
>
> Maybe is missing something like a library or header ?
>
> What do you think about ?
>
> Roger;
>
>
> -----Message d'origine-----
> De : use-revolution-bounces at lists.runrev.com
> [mailto:use-revolution-bounces at lists.runrev.com] De la part de Gordon 
> Tillman Envoyé : vendredi 3 décembre 2004 15:25 À : How to use 
> Revolution Objet : Re: DLL problem
>
> Howdy Roger,
>
> Please do let me know how it goes.  Holler at me if you have any 
> questions.
>
> On Dec 3, 2004, at 06:06, Roger Amar wrote:
>
>> Thanks a lot Gordon !
>> I'll try to find what is wrong and keep you informed.
>> Roger;
>
> Feel free to try out the externals that are included in that project.
> One does a crc32 calculation on a file (osx / windows), and on the 
> windows there are externals to put an icon in the system tray and 
> remove it.  When the user clicks on the icon it shows your stack.
> This lets you have a stack that can run with no window but still be 
> made visible when desired.
>
> --gordon
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>

_______________________________________________
use-revolution mailing list
use-revolution at lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list