VCL 데이터 모듈이 포함 된 dll을 만들려고합니다. 다양한 응용 프로그램이 모두 동일한 dll을로드하고 동일한 데이터베이스 코드를 사용할 수 있다는 생각입니다.C++ Builder XE2 : dll에서 데이터 모듈 초기화
데이터 모듈 자체가 응용 프로그램의 일부로 확인되었습니다. - 양식을 내 dll 프로젝트로 복사했습니다. 나는 또한 내가 형태하지만 아무튼를 작성하기 전에 초기화> 응용 프로그램 - 전화를해야하는지에 대해 뭔가를 본 적이
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
//if I don't call this, I get an exception on initializing the data module
CoInitialize(NULL);
//initialize a standard VCL form; seems to works fine
//I'm not using Application->CreateForm as I don't want the form to appear straight away
if(!MyForm) MyForm = new TMyForm(Application);
//this doesn't work - the thread seems to hang in the TDataModule base constructor?
//I've also tried Application->CreateForm; same result
if(!MyDataModule) MyDataModule = new TMyDataModule(Application);
}
:
그래서 DLL 진입 점 방식에서, 나는 데이터 모듈을 초기화 할 필요가 어떤 변화도없는 것 같습니다.
아이디어가 있으십니까?
감사
이것은 관련이 있거나 다를 수 있습니다. 빈 데이터 모듈을 초기화 할 수 있습니다. 내 실제 데이터 모듈에는 ADOConnection 및 ADOQuery가 포함되어 있습니다. 문제가 발생하면이 문제를 시작하자마자 – user1898153
스레드에서 ADO 구성 요소를 사용할 때 비슷한 문제가있었습니다. CoInitialize를 호출해야했습니다. 귀하의 경우 도움이 될지 모르지만 시도하십시오 .. – Tracer