.NET DLL settings to call using DLL Wizard

View: New views
6 Messages — Rating Filter:   Alert me  

.NET DLL settings to call using DLL Wizard

by David Dancy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi

We're trying to create a .NET DLL that will interface to another DLL
(written in Delphi, as it happens) and I'm wondering if anyone can
help us with what settings are required in the .NET DLL so that 4D's
DLL Wizard will be able to create a DLL that calls it.

Thanks in advance for any information.

Cheers

--
David Dancy
Sydney, Australia
**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/     
   

    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************


Parent Message unknown RE: .NET DLL settings to call using DLL Wizard

by Peter Hay-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi David,

.NET DLLs are not the same as Win32 DLLs, even though they have the same
name.  .NET DLLs run as managed code, 4D is unmanaged.  And as such there
are a heap of hoops you have to leap thru to transition from one to the
other.  I tried to do this a year or 2 ago, and gave up.  It was just too
much work for the project I was working on, so I ended up skinning the cat a
different way.

Sorry to be all doom and gloom on ya, but unmanaged -> managed -> unmanaged
is a tough nut.

See ya,
Pete


Peter Hay
Managing Director
Foreground Software Limited
 

No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.518 / Virus Database: 269.21.7/1323 - Release Date: 10/03/2008
11:07 am
 

**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/     
   

    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************


Re: .NET DLL settings to call using DLL Wizard

by David Dancy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Peter

Thanks for that information - you've saved us a ton of time
experimenting with something that probably wasn't going to work!

Cheers

David
**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/     
   

    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************


RE: .NET DLL settings to call using DLL Wizard

by Patrick de Boer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I've had the same experience, even a most basic skeleton C++ .DLL compiled as managed code did not work. I reported the issue with 4D but haven't heard back from them yet. (no surprise there).

I will give it another try in the future with the new 4D v11.

Regards,
Patrick de Boer.


-----Original Message-----
From: 4D-Plugins@... [mailto:4D-Plugins@...] On Behalf Of Peter Hay
Sent: dinsdag 11 maart 2008 04:11
To: 4D-Plugins@...
Subject: RE: .NET DLL settings to call using DLL Wizard

Hi David,

.NET DLLs are not the same as Win32 DLLs, even though they have the same
name.  .NET DLLs run as managed code, 4D is unmanaged.  And as such there
are a heap of hoops you have to leap thru to transition from one to the
other.  I tried to do this a year or 2 ago, and gave up.  It was just too
much work for the project I was working on, so I ended up skinning the cat a
different way.

Sorry to be all doom and gloom on ya, but unmanaged -> managed -> unmanaged
is a tough nut.

See ya,
Pete


Peter Hay
Managing Director
Foreground Software Limited
 

No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.518 / Virus Database: 269.21.7/1323 - Release Date: 10/03/2008
11:07 am
 

**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/     
   

    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************

**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/


    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************


Parent Message unknown RE: .NET DLL settings to call using DLL Wizard

by Peter Hay-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Patrick de Boer said;

I've had the same experience, even a most basic skeleton C++ .DLL compiled
as managed code did not work. I reported the issue with 4D but haven't heard
back from them yet. (no surprise there).

-------------------------
 
Hi Patrick,

This will never work.  It's not 4D's fault, it's just confusion over the
usage of the DLL name.  An unmanaged DLL contains compiled binary code
specific to the hardware it is running on.  However, a managed DLL contains
intermediate language (IL), and is in a totally different format internally
than an unmanaged DLL.  The IL is processed by the JIT compiler and the
output is fed to the Common Language Runtime (CLR), which actually runs the
code.  This is very similar to the Java scenario.

You could create 4D plug-in, which is a normal, unmanaged DLL, and from that
call a managed DLL.  But, it's difficult.  From memory the problem is that
the plug-in is not in control of the "environment", 4D is.  The plug-in is
essentially a "guest" of 4D's.  I can't remember the exact details, but it
is something like that.  I gave up after the pain in my head became too
great, after repeated wall bashings.

See ya,

Peter Hay
Managing Director
Foreground Software Limited




No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.518 / Virus Database: 269.21.7/1325 - Release Date: 11/03/2008
1:41 pm
 

**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/     
   

    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************


RE: .NET DLL settings to call using DLL Wizard

by Patrick de Boer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Peter,

Believe me, I've tried, I'm can be very persistent lol, in the past I've tried several different methods to get 4D to work with managed code.

I've tried the IJW (it just works) option, just enabling the /CLR option, this compiles the C++ code to IL.
I've tried the 'spring board' method, using an unmaged dll, then manually load the managed dll and forward the calls, that didn't work.
I've tried #pramga managed/unmaged, etc.

Once the JIT compiler/CLR environment get's called things just screw up.
4D still does sneaky things when calling external methods.
The whole managed/unmanaged interop is quite complex too if you read up on the details on the net, so I'm not that surprised.

The odd thing is that with one of my first attemps, years back, I did get it to work, at one point I had a Windows.Form running as an external area in my application. Unfortunately in later version I've never been able to repeat that exercise. *sigh*.

Bottom line is that I do expect 4D to handle managed compiled DLL's (eventually) and I'm sure we'll get there at some point. Things have never moved very quickly with 4D.




-----Original Message-----
From: 4D-Plugins@... [mailto:4D-Plugins@...] On Behalf Of Peter Hay
Sent: woensdag 12 maart 2008 04:51
To: 4D-Plugins@...
Subject: RE: .NET DLL settings to call using DLL Wizard

Patrick de Boer said;

I've had the same experience, even a most basic skeleton C++ .DLL compiled
as managed code did not work. I reported the issue with 4D but haven't heard
back from them yet. (no surprise there).

-------------------------
 
Hi Patrick,

This will never work.  It's not 4D's fault, it's just confusion over the
usage of the DLL name.  An unmanaged DLL contains compiled binary code
specific to the hardware it is running on.  However, a managed DLL contains
intermediate language (IL), and is in a totally different format internally
than an unmanaged DLL.  The IL is processed by the JIT compiler and the
output is fed to the Common Language Runtime (CLR), which actually runs the
code.  This is very similar to the Java scenario.

You could create 4D plug-in, which is a normal, unmanaged DLL, and from that
call a managed DLL.  But, it's difficult.  From memory the problem is that
the plug-in is not in control of the "environment", 4D is.  The plug-in is
essentially a "guest" of 4D's.  I can't remember the exact details, but it
is something like that.  I gave up after the pain in my head became too
great, after repeated wall bashings.

See ya,

Peter Hay
Managing Director
Foreground Software Limited




No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.518 / Virus Database: 269.21.7/1325 - Release Date: 11/03/2008
1:41 pm
 

**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/     
   

    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************

**********************************************************************
4D Plugins hosted by 4D, Inc.                      http://www.4D.com/


    Did you know?  The 4D Partner Program now gives you
    access to Hotfix releases as soon as they are available!
    To learn more, go to http://www.4D.com/support/partner.html

To Unsubscribe:                      mailto:4D-Plugins-off@...
***********************************************************************

LightInTheBox - Buy quality products at wholesale price