this inherited method (from TParam) with pointer and size does not work any more in sdac 4.70.0.45 + d2009 (it worked fine with sdac 4.35.1.16 and d2006), leaves the parameter set to null.
Please, could you correct it?
Thanks, Ludek.
TMSParam.SetBlobData(Buffer: Pointer; Size: Integer);
There are two overloads of the SetBlobData method: one in TParam that takes Pointer, and one in TDAParam that takes TBytes. In Delphi 2006 the overload with TBytes is called. In Delphi 2009 the overload with Pointer is called. You should change your code in the following way to call the correct overload:
Code: Select all
MSQuery.Params[0].SetBlobData(TBytes(@s), 5);I already change it few days before, but:
1. are there more such pitfalls between sdac 4.35.1.16 for d2006 and sdac 4.70.0.45 for d2009?
2. is it really not possible to make this old call work?
3. if not, at least some deprecated warning or hiding in private section would be nice... I know, such thing can't be done 100% safe (especially when someone retypes the TMSParam to TParam), but it could help show many wrong usages in source...
1. are there more such pitfalls between sdac 4.35.1.16 for d2006 and sdac 4.70.0.45 for d2009?
2. is it really not possible to make this old call work?
3. if not, at least some deprecated warning or hiding in private section would be nice... I know, such thing can't be done 100% safe (especially when someone retypes the TMSParam to TParam), but it could help show many wrong usages in source...