Potrzebne mi to jest, ponieważ przechodzimy z programu w napisanego w Pascalu, gdzie korzystaliśmy z typów typu Real, na ten sam program kompilowany w Lazarusie, gdzie trzba było przerobić wszystkie pola w bazie danych typu Real na Double.
Zaistniała jednak potrzeba, aby zapis do bazy danych odbywał się zarówno do nowych pól typu double jak i tych poprzednich typu Real.
Np.
definicja tabeli
txTabela = record
rIloscOld: Real;
sS: String;
rIlosc: Double;
end;
Niestety nie można zmienić poprzedniego pola rIlosc (teraz rIloscOld), na typ double, bo poprzestawiają się ofsety pól w tabeli.
Zapis odbywa się do pola typu Double, ale potrzebuje też tą samą liczbę zapisać do pola typu Real, żeby była zgodność z poprzednimi wersjami programu.
Wiadomo, że strace na dokładności w trakcie przepisywania Real = Double.