Forums before death by AOL, social media and spammers... "We can't have nice things"
|    alt.comp.os.windows-xp    |    Actually wasn't too bad for a M$-OS    |    17,273 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 16,915 of 17,273    |
|    Newyana2 to R.Wieser    |
|    Re: VBScript OCX receive and supply a sa    |
|    22 May 24 14:04:14    |
      XPost: alt.windows7.general, comp.os.ms-windows.programmer.win32       From: newyana@invalid.nospam              On 5/22/2024 11:52 AM, R.Wieser wrote:              >> If you declare Dim A2()       >       > Which I have not done and, in the current case, have no intention to.               You have no choice in VBScript. I wasn't suggesting sample code.       I was pointing out that if you're not specifying a datatype then it's       variant. A1() as byte is a byte array, but that's only possible       in VB. In VBS you can only declare A1(). Or you declare A1 and       use that to receive an array variable.               It's true that you can do some funky things around the edges.       Maybe you're managing to read a byte array as string. Whatever.       That's not valid code in VBS.              >> I assumed you were working in VB6, using VB6 strings.       >       > Whut ? I specifically mentioned VBScript in the subjectline and the first       > post, as well as thruout my replies ...       >        I meant the language you're writing the OCX in. You're       not writing the OCX is VBS, right? (Please tell me that you       didn't take that on as an interesting challenge. :)               If you write the OCX in VB then the VB function can return       a string:              Function GetBlah() as Variant        s = "blahblahblah"        GetBlah = "CVar(s)       End Function              VBS will have no problem with that. So you can send a       cahracter-delimited string and let VBS turn that into an       array. Otherwise you'll ned to explicitly convert each array       member to variant:              Function GetBytes() As Variant        Dim A1(2) as variant        A1(0) = cvar(120)        A1(1) = CVar(12)        A1(2) = cvar(33)        GetBytes = A1       End Function              >> A safearray is a variant. The data may be other datatypes.       >       > No, it isn't. What you are referring to is a Variant which contains (a       > pointer to) a SafeArray.       >        An array is a variant. Yes, it's a pointer-type variable. The       variable itself, though, is a variant.              >> I can then reference each character as an integer in the array, without       >> any string handling. It's just memory addresses, after all.       >>       >> For i = 0 to UBound(ArrayThatsAString)       >> Select Case i       >       > Are you trying to pull my leg ? The only thing there you are using       > "ArrayThatsAString" for is to get its length.       >        Sorry. Maybe this went over your head. My example       was showing how data in an array is structured. It was       a sample of VB code, not VBS.              > In VBS you cannot access memory directly, ever.       >              Yes. As I said in the line you snipped but addressed:              "You can't do anything like that in VBS because each array member is       always a variant and there's no direct access to memory addresses"               I'm going to give you the benefit of the doubt and assume that you       read my post hastily and didn't follow the logic, but it sounds like you're       just looking to argue again.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca