#181829 - 2007-10-22 08:12 PM
Casting String to Object - Possible?
|
pearly
Getting the hang of it
Registered: 2004-02-04
Posts: 92
|
Is it possible to cast a string to an object? I know KiXtart isn't a static type language, but I was wondering if this is possible somehow?
I'm trying to convert this VB7 function for my KF.NET application. Here is the code
Function AddComPlusApplication(ByVal applicationName As String, _
ByVal serverName As String) As Boolean
Dim catalog As New COMAdmin.COMAdminCatalog
catalog.Connect(serverName)
' get the Applications collection
Dim apps As COMAdmin.COMAdminCatalogCollection = CType _
(catalog.GetCollection("Applications"), _
COMAdmin.COMAdminCatalogCollection)
apps.Populate()
If apps.AddEnabled Then
'Check to ensure duplicate is not created
Dim i As Integer
For i = 0 To apps.Count - 1
If applicationName = CType(apps.Item(i), _
COMAdmin.COMAdminCatalogObject).Name.ToString() Then
Return False
End If
Next i
Dim application As COMAdmin.COMAdminCatalogObject = CType(apps.Add(), _
COMAdmin.COMAdminCatalogObject)
application.Value("Name") = CType(applicationName, Object)
apps.SaveChanges()
Return True
End If
Return False
End Function
Here's my KiXtart Function I have so far:
Function AddComPlusApplication($applicationName, optional $serverName)
Dim $objCat, $apps
Dim $i, $app, $iFlag
Dim $application
$objCat = CreateObject("COMAdmin.COMAdminCatalog.1")
If $serverName $ = $objCat.Connect($serverName) EndIf
$apps = $objCatalog.GetCollection("Applications")
$apps.Populate()
If $apps.AddEnabled = -1
For $i = 0 to $apps.Count() - 1
$app = $apps.Item($i)
If $applicationName = CStr($app.Name)
$iFlag = $TRUE
$i = $apps.Count() - 1
EndIf
Next
EndIf
If $iFlag <> $TRUE
$application = $apps.Add()
$application.Value("Name") = $applicationName ;cast to Object from String - how?
$ = $apps.SaveChanges()
EndIf
EndFunction
Is it possible to convert this to KiX?
application.Value("Name") = CType(applicationName, Object)
|
Top
|
|
|
|
#181866 - 2007-10-23 08:01 PM
Re: Casting String to Object - Possible?
[Re: Shawn]
|
pearly
Getting the hang of it
Registered: 2004-02-04
Posts: 92
|
Hmmm, we're getting somewhere. The error I received when executing this code:
$application.Name = $applicationName
is Invalid number of parameters.
|
Top
|
|
|
|
#181867 - 2007-10-23 08:02 PM
Re: Casting String to Object - Possible?
[Re: Shawn]
|
Benny69
Moderator
Registered: 2003-10-29
Posts: 1036
Loc: Lincoln, Ne
|
With VB I have had some success with a structure like this;
change this:
$application.Value("Name") = $applicationName
to this:
$application.Value("Name",$applicationName)
|
Top
|
|
|
|
#181868 - 2007-10-23 08:11 PM
Re: Casting String to Object - Possible?
[Re: Benny69]
|
pearly
Getting the hang of it
Registered: 2004-02-04
Posts: 92
|
Thanks for chiming in Benny.
However when changing the code as indicated above, I'm still getting the same error message:
Invalid number of parameters
|
Top
|
|
|
|
#181872 - 2007-10-23 10:56 PM
Re: Casting String to Object - Possible?
[Re: pearly]
|
NTDOC
Administrator
Registered: 2000-07-28
Posts: 11623
Loc: CA
|
It's looking for the specific entries associated with the object.
I've not looked it up but as an example
MyObject('date','time','year')
You would need to supply date,time,and year in that example.
You need to lookup and see what values (parameters) it's looking for and supply them. Often they could be like: 'name,,,,,8,) meaning that name and 8 were required and the others were optional.
|
Top
|
|
|
|
Moderator: Shawn, ShaneEP, Ruud van Velsen, Arend_, Jochen, Radimus, Glenn Barnas, Allen, Mart
|
0 registered
and 248 anonymous users online.
|
|
|