Для начала, моя система:
Родительская ОС:
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 работает.
Собственно, вопрос - как можно решить данную проблему? Спасибо.




