|
-
Dec 7th, 2014, 11:55 PM
#14
Re: VB6 - Returning/Detecting Empty Arrays
The vbAccelerator-stuff is "overly expressive" in the way it is written,
but not giving any different results from the short(er) IsDimmed-Routine I've posted further above.
Both routines route VB-ArrayParams through a (VT_)ByRef-Variant-Hull -
and that works for most of VBs ArrayTypes - but leaving out Arrays of UDTs,
as long as those UDTs were not defined in a TypeLib or a Public Class of an
ActiveX-Dll (IRecordInfo is needed).
wqweto gave an interesting solution in his post #10, with his Variations around
leaving out the first param of RtlMoveMemory in the Declaration, in conjunction
with defining a (larger than 8 Bytes) returnvalue for this (normally defined "void") routine.
This way he achieved a kind of "DeReference-Function with arbitrary length" - and as
long as MS is not breaking their stdcall ABI on x86-CPUs, this should work nicely -
for all of VBs ArrayTypes, even those based on normally defined UDTs.
Olaf
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|