Alexander писал(а):Ему бы компиляцию в машинный код сделать, да переписать на самом себе без Лазаруса...
Смысла нет, будет тот же Лазарус..
Платформа как раз для того и задумывалась, чтобы запускать приложение на разных платформах без перекомпиляции. При этом платформа быстро развертывается, на любом рабочем месте можно запустить отладчик.
Добавлено спустя 51 минуту 27 секунд:v-t-l писал(а):В последней версии Diesel Pascal 2.3.2, которая с ZeosDBO 8.0, не передаются параметры запросов, как минимум в TZReadOnlyQuery. В Diesel всё присваивается, а в постгресе NULL.
В Lazarus TZReadOnlyQuery с параметрами отрабатывает нормально.
Надо проверить, обновил сборку. Дизель версия 2.3.4
Собственно, что обнаружил, в компонентах вместо TParam сейчас используется TZParam. В обертке интерпретатора для Zeos, которые подхватывают функции ParamByName был не исправлен возвращаемый результат TParam
- Код: Выделить всё
AType.AddMethod('function ParamByName(const Value: string): TParam', @ZAbsRODataSet_PN);
Исправил на TZParam
- Код: Выделить всё
AType.AddMethod('function ParamByName(const Value: string): TZParam', @ZAbsRODataSet_PN);
Можно вместо ParamByName использовать PN, пример ZQuery.PN('paramname').AsString = 'ыааы';
Надеюсь исправление поможет. Попробовал небольшой тест:
- Код: Выделить всё
ZReadOnlyQuery1.SQL.Text = 'INSERT INTO delivery (delivery_id, delivnaim) VALUES (:delivery_id, :delivnaim)';
ZReadOnlyQuery1.PN('delivery_id').AsLargeInt = GetDeliveryID.GetNextValue;
ZReadOnlyQuery1.PN('delivnaim').AsString = 'ыаыаы';
ZReadOnlyQuery1.ExecSQL;
Delivery.Close;
Delivery.Open;
У меня работает.