LDK 7.5 vs Delphi

Страницы: 1
RSS
LDK 7.5 vs Delphi, даже не компилируется
 
Я смотрю, в версии 7.5 вы убрали стандартные небольшие obj-файлы и оставили только новый многомегабайтные

Хозяин, он конечно, барин. Но - очень жаль, что вы даже не тестируете то, что предлагаете.

Про первую ошибку я в файле hasp_unit.pas вам уже сообщал, жаль что до сих пор не исправили.

Код
uses  Winapi.Windows,  System.Win.Crtl,  System.SysUtils; 

Вот это будет работать только в XE2 и дальше.
У вас судя по названиям файлов совместимость должна быть от XE ( ~ XE1 ) - таки её не будет! Нет там таких модулей!
Надо либо проверять версию Delphi либо заявить XE2 как минимум поддержки.

Далее, при попытке сборки с новой защитой выяснилось, что в hasp_helper.inc у вас пропущены две функции

Код
[DCC Error] Hasp_SRM_(Batch Code).pas(1): E2065 Unsatisfied forward or external declaration: 'ConvertFiberToThread'
 
[DCC Error] Hasp_SRM_(Batch Code).pas(1): E2065 Unsatisfied forward or external declaration: '_strerror'
Ошибки тривиальные, но жаль что ваши программисты даже не попытались собрать то, что они выложили в релизе убив всякую прекрасно работавшую альтернативу!

Совершенно нет коммуникации с вашими программистами, ни в одну сторону ни в обратную :-(((
 
Добрый день, Дмитрий.

Есть некоторое различие в реализациях между Delphi XE2 (и старее) и Delphi XE3 (и новее). Такие как например поддержка х64 (полноценно она появилась начиная с XE3) и т.д.
Отсюда (от использования устаревшей версии среды разработки) и получаемые Вами проблемы с примерами. Используйте более свежую версию компилятора и у Вас не будет проблем подобного рода.
Всё же мы стараемся ориентировать наш продукт на актуальные версии ПО и железа, а не на устаревающие, оно думаю и понятно.

"Совершенно нет коммуникации с вашими программистами, ни в одну сторону ни в обратную ((" - Gemalto очень крупная компания, в которой всё ориентированно на правильность построения бизнес процессов.
Если бы наши конечные пользователи могли напрямую общаться с нашими программистами, то получилось бы, что вместо того чтобы разрабатывать новую версию ПО, наши программисты постоянно что-то допиливали бы для тех или иных пользователей, причём не сообща, а порознь, и получилось бы, что одна версия софта обрастала бы кучей разрозненых "костылей". Как Вы понимаете, я уже не говорю о том, что всё это никак не получилось бы оттестировать и поддерживать в дальнейшем. Подобный подход возможен только в условиях маленькой компании, где маленький софт и один сотрудник программист, тестировщик и менеджер по продукту в одном лице.  

У нас процесс построен следующим образом: есть менеджеры по продукту - они отвечают за разработку концепции продукта и путей его развития; есть программисты - они разрабатывают продукт; есть тестировщики - они его тестируют и тесно взаимодействуют с разработчиками; и есть техническая поддержка, специалисты которой коммутируют с конечными пользователями и с разработчиками, реализуя обратную связь.
 
> конечные пользователи могли напрямую общаться с нашими программистами

так если бы только со мной, они и с вами не общаются
я целый год пытался у вас (а вы - у них) выяснить чем же именно старые и новые OBJи отличаются, что размер в 10 раз вырос - и вы так и не смогли это узнать.
Ну кроме стандартного отфуболивания "жить стало лучше, жить стало веселее".

>  есть тестировщики - они его тестируют и тесно взаимодействуют с разработчиками;

Ну и вот они его не оттестировали вообще, иначе не заметить что они просто пропустили описания двух функций - невозможно

После того, как я последний раз запускал 7.5 Master Wizard я получил OBJ'и от одного вашего внутреннего релиза, а исходные тексты PAS+INC - от другого. В этих файлах тупо нету функций, которые необходимы вашеим же OBJам. Я их написал - и проект собрался. Как вы понимаете, отсутствие функций - это не вопрос к версии компилятора. Это означает, что вы их просто ещё не написали в тех файлах, которые выложили.

Ergo - ваши тестировщики эту компбинацию, которую вы выложили в интернет, не тестировали. Они либо тестировали старый OBJи, кторые не требовали этих функций, а новые проигнорировали и выложили без тестов. Либо тестировали новые исходники - но их выкладывать не стали, а вложили только новые OBJ'и со старыми исходниками, химеру.
 
Цитата
Yury Goryachev пишет:
получаемые Вами проблемы с примерами

и это не проблема с примерами, это проблема с API

разницу между API и Samples я уверен вы понимаете, потому непонятно зачем вы сейчас одно пытались выдать за другое
 
Цитата
Yury Goryachev пишет:
Отсюда (от использования устаревшей версии среды разработки)

Другими словами, вы сейчас говорите, что Delphi XE2 снята вами с поддержки и, что я не должен ей пользоваться, если хочу пользоваться LDK 7.5

Это меня удивило, потому что Release Notes 7.5 я читал внимательно и такого там не помю.

Решил перечитать....
И читаю, что там заявлена совместимость с Delphi 2006 и 2007, не то что с XE2
Для справки: версии Delphi 7.0 -> 2005 -> 2006 -> 2007 -> 2009 -> 2010 -> XE -> XE2 -> XE3

Таким образом, вы мне говорите что вы больше не поддерживаете Delphi XE2, а ваша документация говорит, что вы поддерживаете Delphi 5 версий ниже, чем моя.

И после этого слушать про
Цитата
Yury Goryachev пишет:
всё ориентированно на правильность построения бизнес процессов

Тут извините получается процесс типа "левая рука не знает, что делает правая", что же в нем правильного?...

В любом случае, не обсуждая правильность бизнес процессов - на лицо 2 технических ошибки в LDK 7.5

1) в исходникаx Delphi вы забыли написать две функции необходимые для OBJ-файлов
2) сняв с поддержки Delphi XE2 и предыдущие вы забыли это задокументировать

Надеюсь, что в рамках "правильных процессов" эти ошщибки будут исправлены
 
Добрый день!

При сборке приложения в Delphi XE3 /LDK 7.8/ осталась проблема отсутствия описания вызова
Код
E2065 Unsatisfied forward or external declaration: '_strerror'
нужно бы поправить.

Для перехода от объектных файлов к dll, необходимо слегка поправить hasp_unit:
Код
const  DLLName = 'hasp_windows_code.dll';    function hasp_login;  stdcall; external DLLName;   function hasp_logout;  stdcall; external DLLName;     // ...
Ну и не забыть закомментировать в hasp_helper.inc:
Код
{$IFDEF WIN32}{ $L hasp_windows_delphixe_code.obj}{$ENDIF} {$IFDEF WIN64}{ $L hasp_windows_x64_delphixe_demo.obj}{$ENDIF}

Простые вызовы hаsp_login и hаsp_logout работают, на сложных еще не проверял.
 
Вот поэтому я как сделал в 2014 объектный интерфейс к HASP, так им и пользуюсь :-D
Тем более, что он позволяет в одном EXE иметь два комплекта OBJ+HVC (что длдя нас исторически важно)
Страницы: 1
Читают тему (гостей: 1)