Для начала, моя система:
Родительская ОС:
Ubuntu 10.04.2
Lazarus 0.9.28.2
fpc 2.4.0
Гостевая ОС:
Ubuntu 10.04.2
Lazarus 0.9.30
fpc 2.4.2
Мне необходимо создать клиентское приложение для работы с бд mysql (5.1).
Установил Lazarus 0.9.28.2, в качестве способа доступа к бд выбрал MyDAC.
Начало положено,MyDAC нормально встроился в Lazarus приложение успешно соединяется с БД, но в процессе я обнаружил, что DBLookUpComboBox не имеет свойства KeyValue, что довольно-таки сильно напрягает.
Поискал по форуму, понял, что нужно поставить новую версию Lazarus и fpc, но решил сначала проверить на виртуалбоксе, чтобы не запороть рабочую версию.
Новый Lazarus действительно имеет свойство KeyValue у DBLookUpComboBox, я рад =)
Но вот mydac не встраивается. Ошибка:
Error: Can't determine which overloaded function to call
Warning: Local variable "d" does not seem to be initialized
Hint: Local variable "V1" does not seem to be initialized
Hint: Local variable "V2" does not seem to be initialized
Файл: MemData.pas; код
- Код: Выделить всё
procedure NormalizeDataField(var V: Variant);
{%IFNDEF CLR}
var
d: TDateTime;
{$ENDIF}
begin
if VarIsStr(V) then
{$IFDEF CLR}
V := TateTime(V);
{$ELSE}
if TryStrToDateTime(V, d) then //Вот здесь ошибка, выделено TryStrToDateTime
V := d
else
V := VarToDateTime(V);
{ENDIF}
end;
Ctrl+click на выделенное отправляет в /usr/share/fpcsrc/2.4.2/rtl/objpas/sysutils/datih.inc
В Synaptic указал версию fpc-source 2.4.0, установил, заменил путь к исходникам fpc в lazarus. Та же история.
Попробовал в гостевой ОС установить lazarus 0.9.28.2 и fpc 2.4.0 - mydac работает.
Собственно, вопрос - как можно решить данную проблему? Спасибо.