472,805 Members | 1,417 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,805 software developers and data experts.

Delphi coded DLL, read by .NET Web Service?

Dear List,

We have a large application written in Delphi. I am writing a mobile app
written in .NET (C#) which reads and writes into the Delphi applications
Oracle database via a .NET Web Service. Much of the data centred
functionality on the application is quite involved, and to re-write all this
functionality in the .NET web service would be very time consuming. Our idea
is to perhaps develop a DLL written in Delphi, which copies across all
required code from the main application. The .NET web service would then load
and run this DLL as and when required, merely passing parameters in and out
etc...

Does anyone know if it is possible for a .NET Web Service to use a Delphi
written DLL?

Thanks for any tips,

D
Oct 29 '07 #1
4 4030
=?Utf-8?B?ZGF2ZWJ5dGhlc2Vh?= <da**********@discussions.microsoft.com>
wrote in news:A8**********************************@microsof t.com:
Our idea is to perhaps develop a DLL written in
Delphi, which copies across all required code from the main
application. The .NET web service would then load and run this DLL as
and when required, merely passing parameters in and out etc...
Surely there must be an easier way?

Perhaps you can use RemObjects SDK?

http://www.remobjects.com/product/?id={5B241E66-7BAE-4D46-B2BA-
03EB9DC5229D}

Remobjects can expose your Delphi application as a remoting service or web
service. This would make communicating with .NET much easier.
Does anyone know if it is possible for a .NET Web Service to use a
Delphi written DLL?
I believe it is possible using DLLImports... but you'll get into a lot of
Interop and unmanaged code. Not something you want to consider lightly.

Or perhaps you can wrap the DLL as a COM object and it'll be much easier to
call in .NET.
Oct 30 '07 #2
Hi,

Thanks for the reply. I think its going to be a more tricky task than I
first thought, mmh, it might require a re-think. I'll definetly look into the
COM option. The RemObjects library looks good, its whether or not we want to
spend more cash on something. anyway, time will tell..

Cheers,
David

Our idea is to perhaps develop a DLL written in
Delphi, which copies across all required code from the main
application. The .NET web service would then load and run this DLL as
and when required, merely passing parameters in and out etc...

Surely there must be an easier way?

Perhaps you can use RemObjects SDK?

http://www.remobjects.com/product/?id={5B241E66-7BAE-4D46-B2BA-
03EB9DC5229D}

Remobjects can expose your Delphi application as a remoting service or web
service. This would make communicating with .NET much easier.
Does anyone know if it is possible for a .NET Web Service to use a
Delphi written DLL?

I believe it is possible using DLLImports... but you'll get into a lot of
Interop and unmanaged code. Not something you want to consider lightly.

Or perhaps you can wrap the DLL as a COM object and it'll be much easier to
call in .NET.
Oct 30 '07 #3
The .NET web service would then load and run this DLL as and when
required, merely passing parameters in and out etc...
Sure. There are several viable ways to get the functionality you want.

Delphi can create standard Win32 dlls. You can package your code in those
which C# can call fine. Check out http://www.pinvoke.net/. They have tons
of examples of calling win32 dlls from .Net. I haven't built a dll in
Delphi in years, but if I recall correctly, it was pretty easy. There
should be tons of examples online.

Delphi can also create COM objects. Once that is created it's pretty easy
to add it as a reference in c# and have visual studio create a wrapper
class for accessing the object. I built quite a few COM objects in Delphi a
few years back. It was a pretty painless process as Delphi 6 & 7 had
wizards to do the heavy lifting for you.

I probably shouldn't say this on a Microsoft newsgroup. If the majority of
your application is built in Delphi you should really consider building the
..Net piece in Delphi for .Net instead of C#. All .Net languages compile
down to the CIL so from a .Net standpoint it doesn't matter what language
you use. It should be noted that you'll still need to use one of the
methods I described above for the interop issue. I merely recommend it as
an option so that you can have consistency across your application. It will
make it easier to move team members around and ongoing maintenance.

--
Andrew Faust
andrew[at]andrewfaust.com
http://www.andrewfaust.com
"davebythesea" <da**********@discussions.microsoft.comwrote in message
news:A8**********************************@microsof t.com...
Dear List,

We have a large application written in Delphi. I am writing a mobile app
written in .NET (C#) which reads and writes into the Delphi applications
Oracle database via a .NET Web Service. Much of the data centred
functionality on the application is quite involved, and to re-write all
this
functionality in the .NET web service would be very time consuming. Our
idea
is to perhaps develop a DLL written in Delphi, which copies across all
required code from the main application. The .NET web service would then
load
and run this DLL as and when required, merely passing parameters in and
out
etc...

Does anyone know if it is possible for a .NET Web Service to use a Delphi
written DLL?

Thanks for any tips,

D
Oct 31 '07 #4
Hi Andrew,

Thanks for the information - that was all very useful!

I didnt realise you could code .NET Web Services in Delphi, that may provide
the solution for us. Interesting about the DLL's. I also suspected that
surely a Win32 DLL was independent of what programming language was used to
create it. I reckon I will try this out with a simple example and see how it
goes.

Thanks again,
David

The .NET web service would then load and run this DLL as and when
required, merely passing parameters in and out etc...

Sure. There are several viable ways to get the functionality you want.

Delphi can create standard Win32 dlls. You can package your code in those
which C# can call fine. Check out http://www.pinvoke.net/. They have tons
of examples of calling win32 dlls from .Net. I haven't built a dll in
Delphi in years, but if I recall correctly, it was pretty easy. There
should be tons of examples online.

Delphi can also create COM objects. Once that is created it's pretty easy
to add it as a reference in c# and have visual studio create a wrapper
class for accessing the object. I built quite a few COM objects in Delphi a
few years back. It was a pretty painless process as Delphi 6 & 7 had
wizards to do the heavy lifting for you.

I probably shouldn't say this on a Microsoft newsgroup. If the majority of
your application is built in Delphi you should really consider building the
.Net piece in Delphi for .Net instead of C#. All .Net languages compile
down to the CIL so from a .Net standpoint it doesn't matter what language
you use. It should be noted that you'll still need to use one of the
methods I described above for the interop issue. I merely recommend it as
an option so that you can have consistency across your application. It will
make it easier to move team members around and ongoing maintenance.

--
Andrew Faust
andrew[at]andrewfaust.com
http://www.andrewfaust.com
"davebythesea" <da**********@discussions.microsoft.comwrote in message
news:A8**********************************@microsof t.com...
Dear List,

We have a large application written in Delphi. I am writing a mobile app
written in .NET (C#) which reads and writes into the Delphi applications
Oracle database via a .NET Web Service. Much of the data centred
functionality on the application is quite involved, and to re-write all
this
functionality in the .NET web service would be very time consuming. Our
idea
is to perhaps develop a DLL written in Delphi, which copies across all
required code from the main application. The .NET web service would then
load
and run this DLL as and when required, merely passing parameters in and
out
etc...

Does anyone know if it is possible for a .NET Web Service to use a Delphi
written DLL?

Thanks for any tips,

D
Nov 1 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

13
by: lukeharpin | last post by:
Hi World, We have been developing Engineering software in Delphi 3,4,5,6,7 for a few years now. This morning we had a discussion about OOP and re-programming the software to which the question...
0
by: Alex | last post by:
I have wse enabled service on a server and making Delphi application using SOAP to access this service. I stuck with WSE security...always getting error like ...
0
by: Tomek | last post by:
Welcome. I`m trying to prepere some project that shows how to use Corba technology i heterogenic systems.I`d like to create CORBA server with Borland Delphi (or C#.NET) and few client...
5
by: Dinesh Kumar | last post by:
Hi all I am using VB.NET for a Connector dll in Delphi client and some webservice . can you tell me how to handle pointers in Vb.net which are passed by delphi client as parameters in function...
2
by: xpanta | last post by:
Hi, I would like to know what (if possible) is the best way for a java-coded client to communicate with a Delphi-coded server. I am actually to create a JSP <-> JBean <->Delphi Server <->...
0
by: epoch | last post by:
hi. my problem is: there is a web service running on the network. i wrote a windows service in delphi. i want to call a dll or com+ from this windows service. and this windows service is going...
1
by: Thomas Due | last post by:
Hi, I manage an rather old application in which we have some fairly complex (ugly) Delphi code. This is Delphi 6 we're talking about. Among all this Delphi code there is method for formating a...
11
by: gnuist006 | last post by:
Is there a Delphi equivalent in the C world or Scheme/LISP world ? Recently, Delphi is in resurgence. In Russia people are using like crazy. For example, Bolega has written a free image...
0
by: BornTOCode | last post by:
Hello, I am attempting to call a (Delphi) win32 DLL from a Delphi.Net webservice. I am using a slightly modified version of the hello world webservice that comes with Delphi 2006. The DLL...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: lllomh | last post by:
How does React native implement an English player?
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.