nooby Posted July 6, 2008 Share Posted July 6, 2008 hi guys, i'm writing a script that uses an object. one function i want to use has a parameter that needs to pass an array. more info: This parameter can be of type VT_ARRAY|VT_VARIANT, where each entry is a VT_BSTR, or VT_ARRAY|VT_BSTR obviously, the stucture of the autoit array is not applicable, as it fails when trying something like this: Local $array_parameter[5] $obj.function($array_parameter) after reading a little more on the function, i saw an article (i wasnt sure which scripting language they were writting in) and they said that the function works great like this: string[] files = new string[] { ... }; object filesAsObject = (object)files; Obj.function(ref filesAsObject); How exactly can i pass this parameter type ? any suggestions thanks Link to comment Share on other sites More sharing options...
Valuater Posted July 6, 2008 Share Posted July 6, 2008 This is one way... Local $S_Files2Attach = StringSplit($s_AttachFiles, ";") For $x = 1 To $S_Files2Attach[0] $S_Files2Attach[$x] = _PathFull ($S_Files2Attach[$x]) If FileExists($S_Files2Attach[$x]) Then $objEmail.AddAttachment ($S_Files2Attach[$x]) Else $i_Error_desciption = $i_Error_desciption & @lf & 'File not found to attach: ' & $S_Files2Attach[$x] SetError(1) return 0 EndIf Next Also you might want to look at "with" 8) Link to comment Share on other sites More sharing options...
nooby Posted July 6, 2008 Author Share Posted July 6, 2008 mm.. i don't think this is what i need.. i need to pass the whole array to the function $objEmail.AddAttachment ($S_Files2Attach[$x]) ;passes the value of $array[$x] ;what i'm looking for is how to pass the entire array, so in this case, theoretically.. $objEmail.AddAttachment ($S_Files2Attach) ;passes the entire array (obviously does not work) Link to comment Share on other sites More sharing options...
Valuater Posted July 6, 2008 Share Posted July 6, 2008 There are only a few here that are really proficient with objects. I have played with them myself... just a little here is an example of with With $oGame .bgcolor = "#000000" .Movie = 'http://farm.addictinggames.com/D78AQSAKQLQWI9/1130.swf' .ScaleMode = 2 .Loop = True .wmode = "Opaque" EndWith other than these two ideas.... we need a more experienced person Good Luck 8) Link to comment Share on other sites More sharing options...
cppman Posted July 6, 2008 Share Posted July 6, 2008 I'm not too sure either, but as far as I know this should work with a C++ "array": Global $myArray[10] = [ 10, 20, 3, 33, 24, 55, 76, 57, 38, 69 ] $myRealArray = _CreateRealArray($myArray, "int") ; Then we can pass DLLStructGetPtr($myRealArray, "myarray") to the function? Func _CreateRealArray($array, $type) ; "char*" $nLength = UBound($array) - 1 $struct = DLLStructCreate($type & " myarray[" & $nLength & "];") For $i = 0 to $nLength DLLStructSetData($struct, "myarray", $array[$i], $i) Next Return $struct EndFunc Miva OS Project Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now