Dukekz
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подскажите пожалуйста. Не понимаю, лыжи не едут, или в другом месте проблема... Собираю простые тестовые приложения на CBuilder Berlin. SoapServer и SoapClient. В сервере SoapDataServerForm, SoapDataServerDataModule, SoapDataServerWebModule. Пример взят из Кэнту Марко - Delphi 7 для профессионалов. В серверном датамодуле FDConnection, FDDataSet и экспортируемый DataSetProvider. В клиентском приложении TSoapConnection и ClientDataSet с прицепленым гридом. Все компилируется и работает. Понадобилось перетащить экзешники на другой комп, откомпилировал клиента с опцией BuildWithRuntimePackages=false, чтоб не таскать bpl. Клиент стал вываливаться с AccessViolation при ClientDataSet->ApplyUpdates(). Много поплясал с бубном пока догадался, что сломалось из-за BuildWithRuntimePackages=false. Вернул назад - все работает. Добавил midas.lib и MidasLib.hpp, с таким кодом: #ifndef MidasLibH #define MidasLibH //--------------------------------------------------------------------------- #include <Datasnap.DSIntf.hpp> #include <Datasnap.Midas.hpp> #pragma link "midas.lib" extern "C" __stdcall DllGetDataSnapClassObject(REFCLSID rclsid, REFIID riid, void** ppv); void my_startup(void) { RegisterMidasLib(DllGetDataSnapClassObject);} #pragma startup my_startup #endif С ним проект клиента перестал требовать midas.dll и AccessViolation из ApplyUpdates() пропал. Тобишь клиент заработал Но ничего не могу сделать с сервером. Как только компилирую его с BuildWithRuntimePackages=false он перестает линковаться с такими ошибками: [ilink32 Error] Error: Unresolved external 'CertCloseStore' referenced from C:\EMBARCADERO\STUDIO\18.0\LIB\WIN32\DEBUG\SOAPRTL.LIB|Soap.SOAPHTTPTrans [ilink32 Error] Error: Unresolved external 'CertFreeCertificateContext' referenced from C:\EMBARCADERO\STUDIO\18.0\LIB\WIN32\DEBUG\SOAPRTL.LIB|Soap.SOAPHTTPTrans [ilink32 Error] Error: Unresolved external 'CertOpenSystemStoreW' referenced from C:\EMBARCADERO\STUDIO\18.0\LIB\WIN32\DEBUG\SOAPRTL.LIB|Soap.SOAPHTTPTrans [ilink32 Error] Error: Unresolved external 'CertEnumCertificatesInStore' referenced from C:\EMBARCADERO\STUDIO\18.0\LIB\WIN32\DEBUG\SOAPRTL.LIB|Soap.Win.CertHelper [ilink32 Error] Error: Unable to perform link Хоть добавляю midas.lib, хоть не добавляю - все одно не собирается. Что этому midasу от меня надо? )) Еще есть установленный XE7 на том же компе, может от него midas.dll мешается? Хотя я уже анрегистер пробовал и регистер нужной с помощью regsvr32.exe... Есть идеи какие-нибудь? | Всего записей: 59 | Зарегистр. 24-12-2012 | Отправлено: 18:55 01-05-2017 | Исправлено: Dukekz, 18:57 01-05-2017 |
|