![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Midas(D5)->DataSnap(BDS 2006/2007) [D5]
Skyle © (2007-11-20 08:12:00)Я уже задавал в Прочем вопрос "DataSnap(Midas) и Turbo Delphi for Win32 Pro. Возможно ли?". И было мне отвечено, что нужен Enterprise.
Теперь другой вопрос: где можно посмотреть список изменений, произошедших между D5 и BDS 2006/2007, и подводных камней, на которые я могу натолкнуться в случае использования на одной стороне (допустим на клиенте) D5, а на другой (допустим на сервере приложений) BDS 2006/2007?
И ещё вопрос: что случится, если подсунуть приложению, скомпилированному в D5 midas.dll от BDS 2006/2007 или наоборот? (проверить пока к сожалению не могу ввиду отсутствия BDS).
Skyle (2007-11-26 09:28:00) [1]> Sergey Masloff (24.11.07 15:29) [8]
> Loginov Dmitry © (24.11.07 23:40) [9]
О.. Это уже интереснее, спасибо.
Доберусь до BDS, попробую.
Loginov Dmitry (2007-11-24 23:40:00) [2]> DataSnap(Midas) и Turbo Delphi for Win32 Pro. Возможно ли?
> ".
Да можно. Если под рукой есть BDS2006 Enterprise Edition либо Delphi2007 Enterprise Edition (хоть Trial-версия, не важно), то запросто можно сделать DLL-библиотку, которая бы создавала необходимый объект и возвращала ссылку типа TCustomRemoteServer (с Turbo Delphi этот абстрактный тип описан). Только придется внутри HOST-приложения изменить, к примеру, все TDCOMConnection на TCustomRemoteServer, а в библиотеке объявить такую функцию:
function CreateConnection: TCustomRemoteServer;
begin
Result := TDCOMConnection.Create(nil);
end;
Библиотека должна компилироваться без пакетов.
Подобная схема отлично работает, т.к. bpl-пакеты и для дельфей версии >= 2006 абсолютно одинаковы.
Если, допустим, есть EXE-шник, выполняющий роль сервера, и он грузит DLL-ку, а DLL-ка обращается к функциям сервера (к примеру, через DCOM), то при попытке соединения с сервером генерируется ошибка "application not licensed to use this feature". Это уже нехорошая ситуация, и нужно делать небольшой хак - добавить к проекту (к DLL-ке) модуль MConnect и удалить из него вызовы проверки RCS.
Sergey Masloff (2007-11-24 15:29:00) [3]clickmaker © (21.11.07 16:16) [4]
>Если использовать только "чистые" OLE-типы (например, OleVariant, >Integer), то, скорей всего, можно
Нет тоже нельзя. Вернее можно но будут вылезать постоянно плавающие ошибки. Не говоря уже о передаче строковых данных вместо которых приходит перекодированная каша. Это вопрос правда легко решаемый, но вот весь комплекс глюков одолеть не удалось...
Skyle (2007-11-22 12:03:00) [4]Ладно, примерно понял.
Всем большое спасибо, будем пробовать.
clickmaker (2007-11-22 11:53:00) [5]
> Что сейчас в фаворе?
WebServices, SOAP, .NET Remoting
в Дельфи трудно сказать, уже не слежу особенно за этой областью
Skyle (2007-11-22 06:31:00) [6]> clickmaker © (21.11.07 16:16) [4]
Типы в большинстве своём чистые.
Integer, Boolean, String, BCD, DateTime.
А можно чем-нибудь заметить DataSnap? Что сейчас в фаворе?
clickmaker (2007-11-21 16:16:00) [7]
> [3] Skyle © (21.11.07 09:27)
Если использовать только "чистые" OLE-типы (например, OleVariant, Integer), то, скорей всего, можно
Я в свое время не смог использовать сервер Д6 клиентом Д5, потому что тип TGuid использовался
Skyle (2007-11-21 09:27:00) [8]Ээээээ
> Kolan © (21.11.07 09:21) [2]
Мне собссно не вообще в принципе чего нового в Delphi, мне конкретно в мидасе.
Основной вопрос: смогу я мидасом скрестить клиента на D5 и сервер на BDS?
Kolan (2007-11-21 09:21:00) [9]> между D5 и BDS 2006/2007
Между D7 и 2006
http://dn.codegear.com/article/34323
Skyle (2007-11-21 06:42:00) [10]Перенесите пожалуйста эту тему в "прочее", может там чего-нибудь скажут.