У меня есть многоуровневое приложение, которое использует переменные OleVariant для отправки и получения данных через линию с использованием пользовательской среды связи. Обычно содержимое этой переменной OleVariant происходит из TClientDataSet.Data (который, конечно, имеет тип OleVariant). У меня есть подозрение, что коммуникационная среда изменяет содержимое этой переменной OleVariant, и поэтому я хотел бы вывести содержимое переменной перед отправкой и после получения данных. Я использую код:
TmpOrder: OleVariant;
Tmp: TStringList;
Tmp:=TStringList.Create;
try
Tmp.LoadFromFile('D:\test.txt');
Tmp.Add('---');
Tmp.Add(TmpOrder);
Tmp.SaveToFile('D:\test.txt');
finally
Tmp.Free;
end;
Но содержание файла не имеет смысла. Например, следующее содержимое файла может представлять содержимое TClientDataSet.Data:
---
??
Конечно, происходит что-то другое.
Итак - как захватить содержимоепеременная OleVariant.
Сохранение TClientDataSet как XML для меня не вариант, потому что для связи используется OleVariant, а не XML.
Я использую Unciode Delphi (Delphi 2009 и выше).