Ik wil in een DLL een willekeurige OleVariant (die door de hosting applicatie wordt aangeleverd) in z'n geheel en 'raw' kunnen opslaan in een BlobField in een tabel. Iets specifieker: in een field met DataType [image] in een MSSQL database.
Hoe ik normaliter een buffer via een MemoryStream in een BlobField krijg weet ik wel, dat is 't punt niet, maar...
Hoe bepaal ik hoe groot die OleVariant is???
Ik heb 't nu alleen nog maar getest met een OleVariant van 't type varString, en
- SizeOf(MyVariant) geeft altijd 16 terug, onafhankelijk van of 'ie nu een string van 2 of 2000 karakters bevat, en
- MyVariant.Size emmert over het feit dat 't geen automation object is.
Hopelijk zie ik iets heel simpels over het hoofd, maar ik kom er even niet uit...
Wanneer 't alleen maar om strings zou gaan, is 't simpel op te lossen (omzetten naar PChar, heb je meteen je buffer in 't goede formaat), maar ik wil het zo generiek mogelijk houden, dus ook voor bitmaps, etc.
En de aanroepende partij is in ASP/VBScript, dus ik zit een beetje vast aan OleVariants.
Hoe ik normaliter een buffer via een MemoryStream in een BlobField krijg weet ik wel, dat is 't punt niet, maar...
Hoe bepaal ik hoe groot die OleVariant is???
Ik heb 't nu alleen nog maar getest met een OleVariant van 't type varString, en
- SizeOf(MyVariant) geeft altijd 16 terug, onafhankelijk van of 'ie nu een string van 2 of 2000 karakters bevat, en
- MyVariant.Size emmert over het feit dat 't geen automation object is.
Hopelijk zie ik iets heel simpels over het hoofd, maar ik kom er even niet uit...
Wanneer 't alleen maar om strings zou gaan, is 't simpel op te lossen (omzetten naar PChar, heb je meteen je buffer in 't goede formaat), maar ik wil het zo generiek mogelijk houden, dus ook voor bitmaps, etc.
En de aanroepende partij is in ASP/VBScript, dus ik zit een beetje vast aan OleVariants.