Q&A에 질문을 올렸는데, 답이 안올라와서요..쩝..
아래와 같은 구조로 함수를 만들었습니다.
파라미터를 void *로 한것을 이것을 DLL로 만들어서 사용 하기 때문이었구요.
-------------( BDS에서 작성 )---------------------
int CInterfaceDB::GetTableList( void *list ){
TStrings *NameList = (TStrings *)list;
ADOConnection->GetTableNames( NameList, false );
return 1;
}
int CInterfaceDB::GetFieldList( char *tableName, void *list ){
TStrings *NameList = (TStrings *)list;
ADOConnection->GetFieldNames( String(tableName), NameList );
return 1;
}
-------------( BDS에서 작성 )---------------------
이렇게 작성을 해서 DLL로 만든 다음에
Builder 5에서 Application을 하나 만들어서 테스트를 실행 하는데, 뜻하지 않은 에러가...
Application에서
dbGetTableList( ComboBox1->Items ) ;
이렇게 호출 했는데요.
에러가 나는데, 그 메세지가
'Cannot assign a TWidtStringList to a TComboBoxStrings'
이겁니다.
당췌 이해가 가지 않더군요. 같은 Application을 BDS에서 만들어서 실행 하면 아무 문제 없이 실행이 되거든요.
더 웃긴건, 그 아래에,
dbGetFieldList( tableName, Memo1->Lines );
는 아무 문제 없이 건너 간다는 것이죠.
무엇이 문제 일까요? 이런 황당한 질문 하는게 좀 죄송스럽긴 하지만, 지금 제가 처한 상황 그대로 입니다.
쩝..도움좀 주십시오.
|