Hallo,
ich muss ein grosses Projekt von D2007 auf D4 portieren (jaja
).
Benutzt wird IBDAC.
Der Code
Query.ParamByName('Param1').AsBlob := 'bla';
wird angemeckert
richtig ist
Query.ParamByName('Param1').AsBlob := BytesOf('bla');
Das sind aber leider sehr viele Stellen.
Da wird eine von TIBCQuery abgeleitete eigene
Query-Komponente benutzen,
könnte ich die erweitern.
Im Moment sieht da so aus:
Delphi-Quellcode:
procedure TQuery.StringToBlob(const ABlobFeldName, AWert: String);
begin
{$IFDEF VER250}
ParamByName(ABlobFeldName).AsBlob := BytesOf(AWert);
{$ELSE}
ParamByName(ABlobFeldName).AsBlob := AWert;
{$ENDIF}
end;
aus
Query.ParamByName('Param1').AsBlob := 'bla';
wird
Query.StringToBlob('Param1', 'bla');
(Der Code soll schrittweise umgestellt werden, soll also mit D2007 und XE4 laufen.)
Das ist aber trotzdem noch viel zu viel Aufwand.
Bekomme ich denn das ParamByName('').AsBlob nicht irgendwie in meine eigene Klasse rein
z.B.
function ParamByName2(Name: String); TDAParam2;
so dass ich einfach nur
Query.ParamByName2('Param1').AsBlob := 'bla'; schreiben muss?
Wie bekomme ich aber das ('Param1') in die Klasse rein,
oder nehme ich eine Funktion, dass passt aber auch nicht richtig.
Klappt das überhaupt, dass aus ich sowas
Query.ParamByName2('Param1').AsBlob := 'bla';
mit einer eigenen Klasse hinbekomme?
Ich hoffe, jemand kann mir helfen.
Noch mal der Wunsch: so wenig wie möglich ändern und das so schnell wie möglich
PS:
Ich habe den Quellcode von IBDAC, aber ich werden daraus nicht schlau.
Danke
Heiko
So richtig komme ich hier nicht weiter