[Openroad-users] Calling a c# DLL
Bodo Bergmann
Bodo.Bergmann at ingres.com
Tue May 8 18:23:43 EST 2007
Bob,
it's not odd, what OR does in accessing COM/ActiveX libraries, it's just
strict
(I admit , it's more strict than other development environments).
The versioning is part of the COM/ActiveX library, not of OpenROAD.
OpenROAD stores and uses the TypeLib ID (GUID) + version information
(Major + Minor) for the ExternalClassLibrary.
So, if you change the version of the ActiveX/COM library (even if you
retain the GUID),
then it's your part to change the information in OpenROAD accordingly.
It is possible (at least in MS-VisualStudio) to specify not only to keep
the same GUID, but also the same version.
OpenROAD could be implemented less strict, e.g. it could search for a
higher version, if the specified one is not available.
You could enter an enhancement request (in servicedesk) for this.
Bodo.
Bodo Bergmann
Senior Software Engineer
OpenROAD Worldwide Development
Ingres Corp.
________________________________
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Hill, Robert
Sent: Tuesday, May 08, 2007 8:57 AM
To: International OpenROAD Users
Subject: Re: [Openroad-users] Calling a c# DLL
You can interface using a standard ActiveX interface.
you could go down the C++ Mixed assembly, and this is the only way
you'll get access to OR's variables through some judicious use of ESQL.
It seems you can't pass OR object handles to out of process activeX's so
you're restricted to passing simple types. We found the only way to
shunt data between the two was to encode it in a string. A team member
wrote a calendar ActiveX, that was eventually withdrawn, because it
caused many problems with OR's - mouse clicks getting lost, redraw
problems etc. The control was hosted properly from other containers,
just not OR. (surprised?!)
However I wrote a GIS Mapping application that interfaced with our OR
app through ActiveX, but that was modal, and popped up its own WinForm -
and that worked fine.
One other thing to be aware of, is that OR seems to have something odd
going on with their versioning of ActiveX in the catalogue. - any change
to your activeX Control, and OR seems to 'lose' the connection , even if
you don't change it's guid (in C# you can specify explicit interface
guids and keep them fixed). makes for a very frustrating development
cycle, given that you can't easily automate anything in OR.
The benefits you do get, far outweigh the disadvantages - decent
environment, proper unit testing with mbUnit/nCoverage, proper
documentation extraction (nDoc) , decent code analysis tools
(FXCop/Simian etc), automated builds (CC.Net/CIFactory) etc,etc.
If you have other questions drop me a line!
/2ob
Robert Hill
Information Analyst (C/C++,C#,.NET,Java)
Agile Alliance Member
UKIMEA Technical Capabilities ADU
UKIMEA RABU
Application Services Field Operations EMEA
Hallamshire Business Park, 100 Napier St, Sheffield. S11 8HD
email: rhill03 at eds.com
Office: +44 114 291 1928
Mobile: +44 7903 185 516
This email contains information which is confidential and may be
privileged. Unless you are the intended addressee (or authorised to
receive for the addressee) you may not use, forward, copy or disclose to
anyone this email or any information contained in this email. If you
have received this email in error, please advise the sender by reply
email immediately and delete this email.
Electronic Data Systems Ltd
Registered Office:, Lansdowne House, Berkeley Square, London W1J 6ER
Registered in England no: 53419
VAT number: 432 99 5915
________________________________
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Paul White
Sent: 08 May 2007 04:30
To: International OpenROAD Users
Subject: Re: [Openroad-users] Calling a c# DLL
It sounds like it will be easier to do it using activeX. I'll
investigate a bit further. thanks.
________________________________
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Fabian
Anderson
Sent: Tuesday, 8 May 2007 1:20 PM
To: International OpenROAD Users
Subject: Re: [Openroad-users] Calling a c# DLL
Hi Paul,
I am not aware that OpenROAD runs on the
.NET platform as opposed to the Win32 platform. However, if you really
must call "managed" code, you can use C++.NET to create what is called a
mixed assembly.
If you don't like C++ and must use C#, then
a proxy written in C++ to your C# .NET assembly will help. C++.NET is
the only .NET language capable of producing native Win32 code.
Regards,
Fabian Anderson
Systems Analyst
Fintechnix Pty Ltd
________________________________
From: openroad-users-bounces at peerlessit.com
[mailto:openroad-users-bounces at peerlessit.com] On Behalf Of Paul White
Sent: Tuesday, 8 May 2007 13:08
To: International OpenROAD Users
Subject: [Openroad-users] Calling a c# DLL
Hello,
Does anyone have a simple example of calling a C# .net
function from OpenROAD?
I've had past success with MS Visual C++. OpenROAD
needed the WINAPI DLLMain section as per the sample 3gl in order to see
the function.
We're struggling trying to find the correct syntax.
Paul
Peerless IT Pty Ltd
21 Evans Street,
Braybrook VIC 3019
Phone : 03 9214 7777
Mobile : 0414 681 799
Fax : 03 9318 5870
Internet : www.peerlessit.com.au
<file:///U:\Documents%20and%20Settings\pwhite\Application%20Data\Microso
ft\Signatures\www.peerlessit.com.au>
______________________________________________________________________
This email has been scanned by the MessageLabs Email
Security System.
For more information please visit
http://www.messagelabs.com/email
______________________________________________________________________
Specialist providers of back and front office systems
for the financial services industry.
Featuring: Fintechnix(r)
Disclaimer:
Notice: This message contains privileged and
confidential information intended only for the use of the addressee
named above. If you are not the intended recipient of this message you
are hereby notified that you must not disseminate, copy or take any
action in reliance on it.
Any views expressed in this message are those of the
individual sender,except where the sender specifically states them to be
the views of Fintechnix Pty Ltd.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://peerlessit.com/pipermail/openroad-users/attachments/20070508/82b95926/attachment.html
More information about the Openroad-users
mailing list