Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
WwDotNetBridge
Message
General information
Forum:
Visual FoxPro
Category:
Visual FoxPro and .NET
Title:
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01617874
Message ID:
01618053
Views:
68
UPDATE. I checked your code and you're passing parameters as is, not by reference. I am wondering if I change it to pass by reference, my problem will be resolved.

UPDATE 2. Just changing them in the wwDotNetBridge program to be passed by reference didn't help.

Hi Rick,

I have another question. The signature for the method is this
static public string VerifyAddress( ref string AddressLine1, ref string AddressLine2, ref string City, ref string State, ref string ZipCode, ref string Country)
So, although it may be not a good practice, my colleague (who wrote this method) returns new values using parameters passed by references. When I debug that DLL, I can see the new values, however, my call
lcResult = loBridge.Invokestaticmethod("Siriusware.Library.Cass", "VerifyAddress", @Address1, @Address2, @City, @State, @Zipcode, @Country)
		?Address1
		?ZipCode
		
		?lcResult
does not return the new values for the address components.

Do you know what needs to be done to be able to get the changed values in VFP or how the method should be changed in C# if this is not possible?

Thanks in advance.


>>UPDATE. I got it to work using InvokeStaticMethod, e.g. I'm getting the result. The only problem is that this dll reads one setting from the ini file and it's not finding that ini file and therefore the result is not what I want to get.
>
>Do you mean the YourExe.config file? If so that file needs to be with the executing EXE. So if you're running in Fox IDE it'll be vfp.exe.config. If you're running your actual exe it'll be YourExe.exe.config.
>
>+++ Rick ---
>
>>
>>Hi everybody,
>>
>>I am trying to use wwDotNetBridge to access static class from our custom dll. I am trying this code:
>>
>>
>>do wwDotNetBridge
>>local loBridge as wwDotNetBridge
>>loBridge = createobject("wwDotNetBridge", 'V4')
>>if vartype(loBridge) = 'O'
>>	if loBridge.LoadAssembly("Siriusware.Library.dll")
>>
>>		Address1 = "2170 S Josephine St Unit 1"
>>		Address2 = ""
>>		City = "Denver"
>>		State = "CO"
>>		Zipcode  = "80210"
>>		Country = "USA"
>>
>>		*            string sResult = Cass.VerifyAddress( ref Address1, ref Address2, ref City, ref State, ref Zipcode, ref Country);
>>
>>		loCass = loBridge.CreateInstance("Cass")
>>		if isnull(loCass)
>>			? loBridge.cErrorMsg
>>			return
>>		endif
>>
>>		*loPop.Connect("mail.gorge.net",587,.f.)
>>
>>
>>		* loPop.Connect("mail.gorge.net",587,.f.)
>>		*? loBridge.InvokeMethod(loPop,"Connect","pop3.gorge.net",110,.f.)
>>
>>		? loCass.VerifyAddress(@Address1, @Address2, @City, @State, @Zipcode, @Country)
>>	endif
>>endif
>>
>>
>>but I am getting this strange error
>>
>>Type not loaded. Please load call LoadAssembly first.
>>
>>What do I need to do in order to use the class and why do I get this weird error message if I did use LoadAssembly already?
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform