Hi Steve,

Thanks for spending some time on this.

I did look into inlining  which thought me something but not anything
useful for my immediate concern.

I would be abandoning this line of attack in the integration and would
follow the JFE example. Wish me luck. :)

Thanks again.

r/alex

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Steve D'Sa
Sent: Friday, July 18, 2008 1:02 PM
To: General forum
Subject: Re: [Jgeneral] Help in integrating J with C++ on VS.NET 2005

Hi Alex,

..I can only say:


#if defined(__midl)


looks wierd to me...

Please disregard some of my comments related to inline functions. I'm
not an
expert. I'm not sure why the compiler thinks something is being declared
in
an inline function

here is some notes on inlining...
http://en.wikipedia.org/wiki/Inline_function


Steve


On 7/18/08, Steve D'Sa <[EMAIL PROTECTED]> wrote:
>
> Hi Alex,
>
> Congrats on getting as far as you did.
>
> I think the declaration of a new data structure REFGUID in an inline
> function is not being recognized because the complier options do not
allow
> it to. I am not an expert on compiler options, but do you know what
they
> are? Let see if something is missing.
>
> Steve
>
>
>  On 7/17/08, Alex Rufon <[EMAIL PROTECTED]> wrote:
>>
>> Hi.
>>
>>
>>
>> A few years back, I was able to integrated J5 with the Torque Game
>> Engine <http://www.garagegames.com>. After 3 hard disk failures, I
>> couldn't find the code anymore.
>>
>>
>>
>> Since I have J602, I went to the system\examples\ole\cpp\p_jcl
directory
>> and compiled the project there using Visual Studio .NET 2005. First
off,
>> the project would not compile because it was referencing jexe_i.c and
>> jdll_i.c which does not exist. I deleted those two files and copied
the
>> contents of system\examples\ole\cpp\p_jcli and appending it to
>> system\examples\ole\cpp\p_jcl\jsrv.h. The project would now compile
>> properly and you can run the project.
>>
>>
>>
>> Looking at how the sample application behaves and the way it was
coded,
>> I believe that this example project was for J4 or lower. I say this
>> because I know for a fact that the way it was coded, it would never
be
>> able to display the current J session in the screen starting with J5.
>>
>>
>>
>> So I took the following files from the CPP example project and added
>> them to the latest version of Torque Game Engine:
>>
>> 1.       Jexe.h
>>
>> 2.       Jdll.h
>>
>> 3.       Jsvr.h
>>
>> 4.       Jsvr.cpp
>>
>>
>>
>> Now, my problem is that the compiler is throwing the following error:
>>
>> 1>c:\program files\microsoft visual studio
>> 8\vc\platformsdk\include\guiddef.h(150) : error C2065: 'REFGUID' :
>> undeclared identifier
>>
>> 1>c:\program files\microsoft visual studio
>> 8\vc\platformsdk\include\guiddef.h(150) : error C2146: syntax error :
>> missing ')' before identifier 'rguid1'
>>
>> 1>c:\program files\microsoft visual studio
>> 8\vc\platformsdk\include\guiddef.h(150) : error C2433:
>> 'InlineIsEqualGUID' : 'inline' not permitted on data declarations
>>
>> 1>c:\program files\microsoft visual studio
>> 8\vc\platformsdk\include\guiddef.h(150) : error C2059: syntax error :
>> ')'
>>
>>
>>
>> Line 150 in the standard library is:
>>
>> __inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
>>
>> {
>>
>>   return (
>>
>>      ((unsigned long *) &rguid1)[0] == ((unsigned long *) &rguid2)[0]
>> &&
>>
>>      ((unsigned long *) &rguid1)[1] == ((unsigned long *) &rguid2)[1]
>> &&
>>
>>      ((unsigned long *) &rguid1)[2] == ((unsigned long *) &rguid2)[2]
>> &&
>>
>>      ((unsigned long *) &rguid1)[3] == ((unsigned long *)
&rguid2)[3]);
>>
>> }
>>
>>
>>
>> But around line 108 in the same file, we have the definition for
REFGUID
>> as:
>>
>> #ifndef _REFGUID_DEFINED
>>
>> #define _REFGUID_DEFINED
>>
>> #ifdef __cplusplus
>>
>> #define REFGUID const GUID &
>>
>> #else
>>
>> #define REFGUID const GUID * __MIDL_CONST
>>
>> #endif
>>
>> #endif
>>
>>
>>
>> And around line 27, the GUID constant is defined as:
>>
>> #ifndef GUID_DEFINED
>>
>> #define GUID_DEFINED
>>
>> #if defined(__midl)
>>
>> typedef struct {
>>
>>    unsigned long  Data1;
>>
>>    unsigned short Data2;
>>
>>    unsigned short Data3;
>>
>>    byte           Data4[ 8 ];
>>
>> } GUID;
>>
>> #else
>>
>> typedef struct _GUID {
>>
>>    unsigned long  Data1;
>>
>>    unsigned short Data2;
>>
>>    unsigned short Data3;
>>
>>    unsigned char  Data4[ 8 ];
>>
>> } GUID;
>>
>> #endif
>>
>> #endif
>>
>>
>>
>> So now I am stomped. I would appreciate any help/insight/suggestion
>> regarding the matter. Thanks.
>>
>>
>>
>> r/alex
>>
>>
>>
>> P.S.
>>
>> If you're wondering why I'm trying to get this to work ... I'm
replacing
>> the math libraries of the game engine and make it use J as it
>> calculator.
>>
>>
>>
>>
----------------------------------------------------------------------
>> For information about J forums see
http://www.jsoftware.com/forums.htm
>>
>
>
>
> --
> Steve D'Sa
> phone: 416 628 7171




-- 
Steve D'Sa
phone: 416 628 7171
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to