|
지구인 님이 쓰신 글 :
: 메인폼의 리스트뷰에서 주소를 dll로 넘기고 dll에서 리스트뷰의 주소를 받아 내용을 채우고
:
: 첨에는 나오는데 다시한번 호출하거나 종료하면 에러가 나네요.
:
: 이러한 방법을 쓰는데 있어서 주의해야할 사항이 있으면 알려주십시오.
dll에서
extern "C" __declspec(dllexport) void __stdcall OnListView(TObject *Sender);
.
.
.
void __stdcall OnListView(TObject *Sender)
{
DM = new TDM(NULL);
TListView *lvRank = (TListView *)Sender;
DM->adoConn->Open();
strSQL = "select...";
DM->adoSet->CommandText = strSQL;
DM->adoSet->Open();
if (DM->adoSet->Active)
{
lvRank->Items->BeginUpdate();
lvRank->Clear();
while (!DM->adoSet->Eof)
{
nRank++;
lvRank->Items->Add();
int i = lvRank->Items->Count - 1;
lvRank->Items->Item[i]->Caption =
DM->adoSet->FieldByName("Name")->AsString;
DM->adoSet->Next();
}
}
lvRank->Items->EndUpdate();
DM->adoSet->Close();
DM->adoConn->Close();
delete DM;
}
main에서
extern "C" __declspec(dllimport) void __stdcall OnListView(TObject *Sender);
.
.
.
OnListView(lvSomethingRank);
|