StringToObject

  • Thread starter Thread starter Albert
  • Start date Start date
A

Albert

Imagine a project
I've got two dll's referenced, dll1 and dll2

within some function of my project i want to use a function out of dll1/dll2
Normally you then would put in the function:

Function fncSomeProjFunc as int

dim myobj as new dll1 (Make the functions of dll1 available inside this
function)
dim myobj2 as new dll2

dim sResult as string
dim sResult2 as string

sResult = myobj.SomeFunctionwithsResultAsReturnValue
sResult2 = myobj2.SomeFunctionwithsResultAsReturnValue

return 1
end function

Now what i want is this

Function fncSomeProjFunc(byval sDllToCall as String) as int
..
...
....
.....

end function

sDllToCall is either "dll1" or "dll2" being the NAME of the object that I
have to declare.
How can I use sDllToCall to declare an object?

If you for example look at it the other way around,

dim myobj as new dll1

msgbox (myobj.toString) would give "dll1"
so maybe there is some function like myobj=sdlltocall.StringToObject or
something like this?

Posted this question elsewhere too, but no one seems to be able to help me
out here.

Thanks for the help
 
* "Albert said:
Imagine a project
I've got two dll's referenced, dll1 and dll2

within some function of my project i want to use a function out of dll1/dll2
Normally you then would put in the function:

Function fncSomeProjFunc as int

dim myobj as new dll1 (Make the functions of dll1 available inside this
function)
dim myobj2 as new dll2

dim sResult as string
dim sResult2 as string

sResult = myobj.SomeFunctionwithsResultAsReturnValue
sResult2 = myobj2.SomeFunctionwithsResultAsReturnValue

return 1
end function

Now what i want is this

Function fncSomeProjFunc(byval sDllToCall as String) as int
.
..
...
....

end function

sDllToCall is either "dll1" or "dll2" being the NAME of the object that I
have to declare.
How can I use sDllToCall to declare an object?

\\\
Private Function CreateClassByName( _
ByVal PartialAssemblyName As String, _
ByVal QualifiedClassName As String _
) As Object
Return _
Activator.CreateInstance( _
[Assembly].LoadWithPartialName( _
PartialAssemblyName _
).GetType(QualifiedClassName) _
)
End Function
///

Usage:

\\\
Dim c As Control = _
DirectCast( _
CreateClassByName( _
"System.Windows.Forms", _
"System.Windows.Forms.Button" _
), _
Control _
)
With c
.Location = New Point(10, 10)
.Size = New Size(80, 26)
.Text = "Hello World"
End With
Me.Controls.Add(c)
///
 
Back
Top