Build with runtime packets就好的,去掉就不行了,高手请进!
yesry 2003-02-20 09:09:58 一个DLL,在 Project Options->Packets中,Build with runtime packets勾上就可以通过了,去掉勾救灾连接的时候TForm::Application,DBClient::First()等都Unresolved.怎么解决?
我在DLL中用到new TClientDataSet(Application)的xml存储功能。BCB6。
#include <DBClient.hpp>
extern "C"
__declspec(dllexport) bool WINAPI CreateDatabase(char *file_name)
{
TFieldDefs *pDefs=cdDatabase->FieldDefs;
TFieldDef *pDef=pDefs->AddFieldDef();
pDef->DataType=ftString;
pDef->Size=64;
pDef->Name="TableName";
pDef=pDefs->AddFieldDef();
pDef->DataType=ftString;
pDef->Size=255;
pDef->Name="TableDescript";
pDef=pDefs->AddFieldDef();
pDef->DataType=ftMemo;
pDef->Name="TableData";
TIndexDef *pIDef=cdDatabase->IndexDefs->AddIndexDef();
pIDef->Fields="TableName";
pIDef->Name="Index_TableName";
try{
cdDatabase->CreateDataSet();
TFileStream *strm=new TFileStream(file_name,fmCreate);
cdDatabase->SaveToStream(strm,dfXMLUTF8);
cdDatabase->Close();
delete strm;
}catch(...){return false;}
return true;
}
//-----------------------------------------------------------------------