473,396 Members | 1,866 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

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

Late binding with c#

I'm trying to write a c# command line app that runs report dll's at set
times. The dll's are written in c# with a common interface so by passing the
object name from the command line I can create ao instance ot the object &
create the report.

In VB I used code like:
Set obj = CreateObject(objName)
Call obj.Init(databaseName, fromDate, toDate)

I've tried the c# code:
System.Type oType = System.Type.GetTypeFromProgID("rptName.Init");
object obj = System.Activator.CreateInstance(oType);
oType.InvokeMember("createReport",
System.Reflection.BindingFlags.InvokeMethod, null,0, new object[]{})
obj.createReport(dbName,fromDate,toDate);

but so far not been able to get it to work.

I'm sure I'm just missing something silly but at present can't see it, Maybe
because it's Friday!!!

Any help/advise would be welcome.

Thanks,
John
Jun 30 '06 #1
2 1755
objType.InvokeMember("Init", System.Reflection.BindingFlags.InvokeMethod,
null, obj, new object[] {databaseName, fromDate, toDate});

You were passing '0' instead of 'obj'.
--
David Anton
www.tangiblesoftwaresolutions.com
Instant C#: VB to C# converter
Instant VB: C# to VB converter
Instant C++: C# to C++ converter
Instant C++: VB to C++ converter
"John Clennett" wrote:
I'm trying to write a c# command line app that runs report dll's at set
times. The dll's are written in c# with a common interface so by passing the
object name from the command line I can create ao instance ot the object &
create the report.

In VB I used code like:
Set obj = CreateObject(objName)
Call obj.Init(databaseName, fromDate, toDate)

I've tried the c# code:
System.Type oType = System.Type.GetTypeFromProgID("rptName.Init");
object obj = System.Activator.CreateInstance(oType);
oType.InvokeMember("createReport",
System.Reflection.BindingFlags.InvokeMethod, null,0, new object[]{})
obj.createReport(dbName,fromDate,toDate);

but so far not been able to get it to work.

I'm sure I'm just missing something silly but at present can't see it, Maybe
because it's Friday!!!

Any help/advise would be welcome.

Thanks,
John

Jun 30 '06 #2
What I'm getting at present is the Type is not being created.
After the following line is executed the Type is still <undefined value>
System.Type oType = System.Type.GetTypeFromProgID("rptName.Init");

Documentation on GetTypeFromProgID states that it's for compatability with
COM objects & that it's superceded with namespaces in .NET. As the dll's are
written in c# do I have to use another method to late bind?

Thanks for the help,
John

"David Anton" wrote:
objType.InvokeMember("Init", System.Reflection.BindingFlags.InvokeMethod,
null, obj, new object[] {databaseName, fromDate, toDate});

You were passing '0' instead of 'obj'.
--
David Anton
www.tangiblesoftwaresolutions.com
Instant C#: VB to C# converter
Instant VB: C# to VB converter
Instant C++: C# to C++ converter
Instant C++: VB to C++ converter
"John Clennett" wrote:
I'm trying to write a c# command line app that runs report dll's at set
times. The dll's are written in c# with a common interface so by passing the
object name from the command line I can create ao instance ot the object &
create the report.

In VB I used code like:
Set obj = CreateObject(objName)
Call obj.Init(databaseName, fromDate, toDate)

I've tried the c# code:
System.Type oType = System.Type.GetTypeFromProgID("rptName.Init");
object obj = System.Activator.CreateInstance(oType);
oType.InvokeMember("createReport",
System.Reflection.BindingFlags.InvokeMethod, null,0, new object[]{})
obj.createReport(dbName,fromDate,toDate);

but so far not been able to get it to work.

I'm sure I'm just missing something silly but at present can't see it, Maybe
because it's Friday!!!

Any help/advise would be welcome.

Thanks,
John
Jul 3 '06 #3

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

Similar topics

21
by: Mike MacSween | last post by:
Had some trouble with Word automation. Sorted it, in the process thought I would try late binding. Some people reccomend it. So this: *********************************************************...
1
by: JD Kronicz | last post by:
Hi .. I have an issue I have been beating my head against the wall on for some time. I am trying to use late binding for MS graph so that my end users don't have to worry about having the right...
14
by: Composer | last post by:
I've read many postings about the problem of Access.References.IsBroken and the consensus seems to be that late binding is the cure-all. I have a very complex Access application that needs...
9
by: Zlatko Matić | last post by:
I was reading about late binding, but I'm not completely sure what is to be done in order to adjust code to late binding... For example, I'm not sure if this is correct: early binding: Dim ws...
5
by: eBob.com | last post by:
In another thread VJ made me aware of Tag. Fantastic! I've been wanting this capability for a long time. But it seems that I cannot use it with Option Strict On. In an event handler I have ......
30
by: lgbjr | last post by:
hi All, I've decided to use Options Strict ON in one of my apps and now I'm trying to fix a late binding issue. I have 5 integer arrays: dim IA1(500), IA2(500), IA3(500), IA4(500), IA5(500) as...
6
by: Tim Roberts | last post by:
I've been doing COM a long time, but I've just come across a behavior with late binding that surprises me. VB and VBS are not my normal milieux, so I'm hoping someone can point me to a document...
2
by: GS | last post by:
I have installed the ms PIA for ofc XP, and followed the article http://support.microsoft.com/kb/247412/ trying to paste into a worksheet However I got late binding not allowed errors .......
3
ADezii
by: ADezii | last post by:
The process of verifying that an Object exists and that a specified Property or Method is valid is called Binding. There are two times when this verification process can take place: during compile...
14
by: Siv | last post by:
hi, I am converting an application that writes to an Excel spreadsheet and the code trips the "option Strict" that I would like on because the parser says "option Strict On disallows late...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

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.