- UID
- 68456
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-7-30
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
帮看看入门级(vc++和arx)的程序,帮忙大改一下:(arx for 2004和vc7。autocad2004
//include files
#include "bridge.h"
//////////////////////////////
//setup beeline object
/////////////////////////////
Acad::ErrorStatus
createNewLine(double startPointX,double startPointY,double startPointZ,
double endPointX,double endPointY,double endPointZ,AcDbObjectId layer)
{
AcDbObjectId lineId;
//define beeline's start point and end point
AcGePoint3d startPoint(startPointX,startPointY,startPointZ);
AcGePoint3d endPoint(endPointX,endPointY,endPointZ);
//initialize beeline object
AcDbLine *pLine=new AcDbLine(startPoint,endPoint);
if(pLine==NULL)
{
return Acad::eOutOfMemory;
}
//open block table
AcDbBlockTable *pBlockTable;
Acad::ErrorStatus es=acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pBlockTable,AcDb::kForRead);
if(es!=Acad::eOk)
{
delete pLine;
return es;
}
//open block table record
AcDbBlockTableRecord *pBlockTableRecord;
es=pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);
if(es!=Acad::eOk)
{
Acad::ErrorStatus es2=pBlockTable->close();
if(es2!=Acad::eOk)
{
acrx_abort("\nClose block table fault,error: %d",acadErrorStatusText(es2));
}
delete pLine;
return es;
}
//close block table
es=pBlockTable->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose block table fault,error: %d",acadErrorStatusText(es));
}
//append entity to model space
es=pBlockTableRecord->appendAcDbEntity(lineId,pLine);
if(es!=Acad::eOk)
{
Acad::ErrorStatus es2=pBlockTableRecord->close();
if(es2!=Acad::eOk)
{
acrx_abort("\nClose block table record in model space fault,error: %d",
acadErrorStatusText(es2));
}
delete pLine;
return es;
}
pLine->setLayer(layer,Adesk::kTrue);
//close block talbe record
es=pBlockTableRecord->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose block table record in model space fault,error: %d",
acadErrorStatusText(es));
}
//close beeline object
es=pLine->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose beeline object fault,error: %d",
acadErrorStatusText(es));
}
//return state code
return es;
}
//////////////////////////
//setup circle object
//////////////////////////
Acad::ErrorStatus
createNewCircle(double centerX,double centerY,double centerZ,double radius,AcDbObjectId layer)
{
AcGePoint3d center(centerX,centerY,centerZ);
AcGeVector3d normal(0.0,0.0,1.0);
AcDbCircle *pCirc=new AcDbCircle(center,normal,radius);
if(pCirc==NULL)
{
return Acad::eOutOfMemory;
}
AcDbBlockTable *pBlockTable;
Acad::ErrorStatus es=acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pBlockTable,AcDb::kForRead);
if(es!=Acad::eOk)
{
delete pBlockTable;
return es;
}
AcDbBlockTableRecord *pBlockTableRecord;
es=pBlockTable->getAt(ACDB_MODEL_SPACE,
pBlockTableRecord,AcDb::kForWrite);
if(es!=Acad::eOk)
{
Acad::ErrorStatus es2=pBlockTable->close();
if(es2!=Acad::eOk)
{
acrx_abort("\n Close BlockTabe fault,error msg: %d",
acadErrorStatusText(es2));
}
delete pCirc;
return es;
}
es=pBlockTable->close();
if(es!=Acad::eOk)
{
acrx_abort("\n Close BlockTable fault ,error: %d",
acadErrorStatusText(es));
}
AcDbObjectId circleId;
pCirc->setLayer(layer,Adesk::kTrue);
es=pBlockTableRecord->appendAcDbEntity(circleId,pCirc);
if(es!=Acad::eOk)
{
Acad::ErrorStatus es2=pBlockTableRecord->close();
if(es!=Acad::eOk)
{
acrx_abort("\n Close BlockTableRecord fault ,error: %d",
acadErrorStatusText(es2));
}
delete pCirc;
return es;
}
pBlockTableRecord->close();
if(es!=Acad::eOk)
{
acrx_abort("\n Close BlockTableRecord fault ,error: %d",
acadErrorStatusText(es));
}
es=pCirc->close();
if(es!=Acad::eOk)
{
acrx_abort("\n Close pCirc entity fault ,error: %d",
acadErrorStatusText(es));
}
return es;
}
//////////////////////////
//set up new layers
//////////////////////////
Acad::ErrorStatus createNewLayer(char* layername,int color,AcDbObjectId& layerObjId)
{
layerObjId=AcDbObjectId::kNull;
AcDbLayerTableRecord * pLayerTableRecord=new AcDbLayerTableRecord;
if(pLayerTableRecord==NULL)
{
return Acad::eOutOfMemory;
}
Acad::ErrorStatus es=pLayerTableRecord->setName(layername);
if(es!=Acad::eOk)
{
delete pLayerTableRecord;
return es;
}
AcCmColor acCmColor;
acCmColor.setColorIndex(color);
pLayerTableRecord->setColor(acCmColor);
//open layer table
AcDbLayerTable *pLayerTable;
es=acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pLayerTable,AcDb::kForWrite);
if(es!=Acad::eOk)
{
delete pLayerTableRecord;
return es;
}
//open linetype table
AcDbLinetypeTable *pLinetypeTbl;
es=acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pLinetypeTbl,AcDb::kForRead);
if(es!=Acad::eOk)
{
delete pLayerTableRecord;
es=pLayerTable->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose layer table fault,error: %d",
acadErrorStatusText(es));
}
return es;
}
//get "CONTINUOUS" linetype object's ID
AcDbObjectId ltypeObjId;
es=pLinetypeTbl->getAt("CONTINUOUS",ltypeObjId);
if(es!=Acad::eOk)
{
delete pLayerTableRecord;
es=pLayerTable->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose layer table fault,error: %d",
acadErrorStatusText(es));
}
return es;
}
//setup linetype for new layer
pLayerTableRecord->setLinetypeObjectId(ltypeObjId);
//
es=pLayerTable->add(layerObjId,pLayerTableRecord);
if(es!=Acad::eOk)
{
Acad::ErrorStatus es2=pLayerTable->close();
if(es2!=Acad::eOk)
{
acrx_abort("\nClose layer table fault,error: %d",
acadErrorStatusText(es2));
}
delete pLayerTableRecord;
return es;
}
//close layer table
es=pLayerTable->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose layer table fault,error: %d",
acadErrorStatusText(es));
return es;
}
//close layer table object
es=pLayerTableRecord->close();
if(es!=Acad::eOk)
{
acrx_abort("\nClose layer table fault,error: %d",
acadErrorStatusText(es));
return es;
}
//return state code
return es;
}
///////////////////////////////
//create pin and joint point
///////////////////////////////
Acad::ErrorStatus
createPinJointPoint(double centerX,double centerY,double centerZ,AcDbObjectId layer)
{
double compaValue;
double radius;
double upLeftPointX;
double upLeftPointY;
double upLeftPointZ;
double upRightPointX;
double upRightPointY;
double upRightPointZ;
double downLeftPointX;
double downLeftPointY;
double downLeftPointZ;
double downRightPointX;
double downRightPointY;
double downRightPointZ;
radius=10.0;
compaValue=radius/sqrt(2.0);
upLeftPointX=centerX-compaValue;
upLeftPointY=centerY+compaValue;
upLeftPointZ=centerZ;
upRightPointX=centerX+compaValue;
upRightPointY=centerY+compaValue;
upRightPointZ=centerZ;
downLeftPointX=centerX-compaValue;
downLeftPointY=centerY-compaValue;
downLeftPointZ=centerZ;
downRightPointX=centerX+compaValue;
downRightPointY=centerY-compaValue;
downRightPointZ=centerZ;
Acad::ErrorStatus es=createNewCircle(centerX,centerY,centerZ,radius,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(upLeftPointX,upLeftPointY,upLeftPointZ,
downRightPointX,downRightPointY,downRightPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(downLeftPointX,downLeftPointY,downLeftPointZ,
upRightPointX,upRightPointY,upRightPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
return es;
}
//////////////////////
//create bolt point
//////////////////////
Acad::ErrorStatus
createBoltPoint(double centerX,double centerY,double centerZ,AcDbObjectId layer)
{
double compaValue;
double upLeftPointX;
double upLeftPointY;
double upLeftPointZ;
double upRightPointX;
double upRightPointY;
double upRightPointZ;
double downLeftPointX;
double downLeftPointY;
double downLeftPointZ;
double downRightPointX;
double downRightPointY;
double downRightPointZ;
compaValue=10.0;
upLeftPointX=centerX-compaValue;
upLeftPointY=centerY+compaValue;
upLeftPointZ=centerZ;
upRightPointX=centerX+compaValue;
upRightPointY=centerY+compaValue;
upRightPointZ=centerZ;
downLeftPointX=centerX-compaValue;
downLeftPointY=centerY-compaValue;
downLeftPointZ=centerZ;
downRightPointX=centerX+compaValue;
downRightPointY=centerY-compaValue;
downRightPointZ=centerZ;
Acad::ErrorStatus es=createNewLine(upLeftPointX,upLeftPointY,upLeftPointZ,
downRightPointX,downRightPointY,downRightPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(downLeftPointX,downLeftPointY,downLeftPointZ,
upRightPointX,upRightPointY,upRightPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(upLeftPointX,upLeftPointY,upLeftPointZ,
upRightPointX,upRightPointY,upRightPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(upRightPointX,upRightPointY,upRightPointZ,
downRightPointX,downRightPointY,downRightPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(downRightPointX,downRightPointY,downRightPointZ,
downLeftPointX,downLeftPointY,downLeftPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
es=createNewLine(downLeftPointX,downLeftPointY,downLeftPointZ,
upLeftPointX,upLeftPointY,upLeftPointZ,layer);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create a line,error: %s",
acadErrorStatusText(es));
return es;
}
return es;
}
/////////////////////////////////////
//read dwg file(Drawing template)
/////////////////////////////////////
void readDwgFile()
{
AcDbDatabase* pCurDb;
AcDbDatabase* pDb = new AcDbDatabase(Adesk::kFalse);
pDb->readDwgFile("A1.dwg",_SH_DENYRW);
pCurDb = acdbHostApplicationServices()->workingDatabase();
if(pCurDb->insert(AcGeMatrix3d::kIdentity,pDb) != Acad::eOk)
{
delete pDb;
}
delete pDb;
}
/////////////////////////////
//read csv file and plot
/////////////////////////////
void plotFromCsvFile()
{
FILE *fp;
char *c;
char temp[1000];
char spanName[40];
char lastLine[1000];
char tempLine[1][18];
char tempLineData[20][18];
static char comma[]={","};
double lineTwoData[1];
double lineXyzData[10][56];
unsigned i;
unsigned j;
unsigned k;
unsigned row;
row=1;
for(i=0;i<1;i++)
{
lineTwoData=0;
}
for(i=0;i<10;i++)
{
for(j=0;j<56;j++)
{
lineXyzData[j]=0;
}
}
fp = fopen("coordinatesCsv.csv","r");
if(fp!=NULL)
{
do
{
c = fgets(temp,1000,fp);
if(c!=NULL)
{
if(row==1)
{
for(i=0;i<=strlen(spanName);i++)
{
if(temp!=comma[0])
{
spanName=temp;
}
// else
// {
// acutPrintf("\n Can't find the span name.");
// }
}
row++;
}
else if(row==2)
{
i=0;
j=0;
k=0;
do
{
if(temp!=comma[0])
{
tempLine[k][j]=temp;
j++;
i++;
}
else
{
i++;
j=0;
k++;
}
} while(temp!=NULL);
for(i=0;i<2;i++)
{
lineTwoData=atof(tempLine);
}
row++;
}
else if(isalpha(temp[0])!=0)
{
for(i=0;i<=strlen(lastLine);i++)
{
if(temp!=comma[0])
{
lastLine=temp;
}
// else
// {
// acutPrintf("\n There is not temp .");
// }
}
}
else
{
i=0;
j=0;
k=0;
char comma[]={","};
do
{
if(temp!=comma[0])
{
tempLineData[k][j]=temp;
j++;
i++;
}
else
{
i++;
j=0;
k++;
}
} while(temp!=NULL);
for(j=0;j<56;j++)
{
// change char string to double data
// scale: 1:125
lineXyzData[row-3][j]=atof(tempLineData[j]);
}
row++;
}
}
for(i=0;i<1000;i++)
{
temp=0;
}
}while (c != NULL); /*repeat nutil NULL*/
fclose(fp);
}
else
acutPrintf("File not found!\n");
/////////////////////////////////////
//plot the dwg file
/////////////////////////////////////
double sin;
double cos;
double increment;
double incrementx;
double incrementy;
double incrementz;
double x;
double y;
double z;
double endOfTheTargetJoint[100][6];
double endOfTheActualJoint[100][6];
incrementz=0;
j=0;
k=0;
AcDbObjectId actualLineLayerId;
Acad::ErrorStatus es=createNewLayer("actual lines",1,actualLineLayerId);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create actual lines layer.Error: %s",
acadErrorStatusText(es));
}
else
{
acutPrintf("\nCreate actual lines layer successful!");
}
AcDbObjectId actualPointLayerId;
es=createNewLayer("actual points",1,actualPointLayerId);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create actual points layer.Error: %s",
acadErrorStatusText(es));
}
else
{
acutPrintf("\nCreate actual points layer successful!");
}
AcDbObjectId targetLineLayerId;
es=createNewLayer("target lines",5,targetLineLayerId);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create target lines layer.Error: %s",
acadErrorStatusText(es));
}
else
{
acutPrintf("\nCreate target lines layer successful!");
}
AcDbObjectId targetPointLayerId;
es=createNewLayer("target points",5,targetPointLayerId);
if(es!=Acad::eOk)
{
acutPrintf("\nCan't create target points layer.Error: %s",
acadErrorStatusText(es));
}
else
{
acutPrintf("\nCreate target points layer successful!");
}
for(i=0;i<(row-3);i++)
{
//plot target joint point
createPinJointPoint(lineXyzData[2],lineXyzData[3],lineXyzData[4],targetPointLayerId);
createPinJointPoint(lineXyzData[5],lineXyzData[6],lineXyzData[7],targetPointLayerId);
createPinJointPoint(lineXyzData[8],lineXyzData[9],lineXyzData[10],targetPointLayerId);
createBoltPoint(lineXyzData[11],lineXyzData[12],lineXyzData[13],targetPointLayerId);
createBoltPoint(lineXyzData[14],lineXyzData[15],lineXyzData[16],targetPointLayerId);
createBoltPoint(lineXyzData[17],lineXyzData[18],lineXyzData[19],targetPointLayerId);
createBoltPoint(lineXyzData[20],lineXyzData[21],lineXyzData[22],targetPointLayerId);
createPinJointPoint(lineXyzData[23],lineXyzData[24],lineXyzData[25],targetPointLayerId);
createPinJointPoint(lineXyzData[26],lineXyzData[27],lineXyzData[28],targetPointLayerId);
//plot the target joint line
sin=(lineXyzData[3]-lineXyzData[9])/(sqrt(pow((lineXyzData[2]-lineXyzData[8]),2)
+pow((lineXyzData[3]-lineXyzData[9]),2)));
cos=(lineXyzData[2]-lineXyzData[8])/(sqrt(pow((lineXyzData[2]-lineXyzData[8]),2)
+pow((lineXyzData[3]-lineXyzData[9]),2)));
increment=(lineXyzData[1]-(sqrt(pow((lineXyzData[2]-lineXyzData[8]),2)
+pow((lineXyzData[3]-lineXyzData[9]),2))))/2;
if(cos==0)
{
incrementx=0;
}
else
{
incrementx=increment/cos;
}
if(sin==0)
{
incrementy=0;
}
else
{
incrementy=increment/sin;
}
endOfTheTargetJoint[j][0]=lineXyzData[2]+incrementx;
endOfTheTargetJoint[j][1]=lineXyzData[3]+incrementy;
endOfTheTargetJoint[j][2]=lineXyzData[4]+incrementz;
endOfTheTargetJoint[j][3]=lineXyzData[8]-incrementx;
endOfTheTargetJoint[j][4]=lineXyzData[9]-incrementy;
endOfTheTargetJoint[j][5]=lineXyzData[10]-incrementz;
createNewLine(endOfTheTargetJoint[j][0],endOfTheTargetJoint[j][1],endOfTheTargetJoint[j][2],
endOfTheTargetJoint[j][3],endOfTheTargetJoint[j][4],endOfTheTargetJoint[j][5],targetLineLayerId);
j++;
//plot the actual joint point
createPinJointPoint(lineXyzData[29],lineXyzData[30],lineXyzData[31],actualPointLayerId);
createPinJointPoint(lineXyzData[32],lineXyzData[33],lineXyzData[34],actualPointLayerId);
createPinJointPoint(lineXyzData[35],lineXyzData[36],lineXyzData[37],actualPointLayerId);
createBoltPoint(lineXyzData[38],lineXyzData[39],lineXyzData[40],actualPointLayerId);
createBoltPoint(lineXyzData[41],lineXyzData[42],lineXyzData[43],actualPointLayerId);
createBoltPoint(lineXyzData[44],lineXyzData[45],lineXyzData[46],actualPointLayerId);
createBoltPoint(lineXyzData[47],lineXyzData[48],lineXyzData[49],actualPointLayerId);
createPinJointPoint(lineXyzData[50],lineXyzData[51],lineXyzData[52],actualPointLayerId);
createPinJointPoint(lineXyzData[53],lineXyzData[54],lineXyzData[55],actualPointLayerId);
//plot the actual joint line
sin=(lineXyzData[30]-lineXyzData[36])/(sqrt(pow((lineXyzData[29]-lineXyzData[35]),2)
+pow((lineXyzData[30]-lineXyzData[36]),2)));
cos=(lineXyzData[29]-lineXyzData[35])/(sqrt(pow((lineXyzData[29]-lineXyzData[35]),2)
+pow((lineXyzData[30]-lineXyzData[36]),2)));
increment=(lineXyzData[1]-(sqrt(pow((lineXyzData[29]-lineXyzData[35]),2)
+pow((lineXyzData[30]-lineXyzData[36]),2))))/2;
if(cos==0)
{
incrementx=0;
}
else
{
incrementx=increment/cos;
}
if(sin==0)
{
incrementy=0;
}
else
{
incrementy=increment/sin;
}
endOfTheActualJoint[k][0]=lineXyzData[29]+incrementx;
endOfTheActualJoint[k][1]=lineXyzData[30]+incrementy;
endOfTheActualJoint[k][2]=lineXyzData[31]+incrementz;
endOfTheActualJoint[k][3]=lineXyzData[35]-incrementx;
endOfTheActualJoint[k][4]=lineXyzData[36]-incrementy;
endOfTheActualJoint[k][5]=lineXyzData[37]-incrementz;
createNewLine(endOfTheActualJoint[k][0],endOfTheActualJoint[k][1],endOfTheActualJoint[k][2],
endOfTheActualJoint[k][3],endOfTheActualJoint[k][4],endOfTheActualJoint[k][5],actualLineLayerId);
k++;
}
//Plot straight lines to join the ends of the joint line
//Plot straight lines to join the ends of the target joint line
for(i=0;i<(j-1);i++)
{
x=endOfTheTargetJoint[0];
y=endOfTheTargetJoint[1];
z=endOfTheTargetJoint[2];
i++;
createNewLine(x,y,z,endOfTheTargetJoint[0],endOfTheTargetJoint[1],
endOfTheTargetJoint[2],targetLineLayerId);
i--;
x=endOfTheTargetJoint[3];
y=endOfTheTargetJoint[4];
z=endOfTheTargetJoint[5];
i++;
createNewLine(x,y,z,endOfTheTargetJoint[3],endOfTheTargetJoint[4],
endOfTheTargetJoint[5],targetLineLayerId);
i--;
}
//Plot straight lines to join the ends of the actual joint line
for(i=0;i<(j-1);i++)
{
x=endOfTheActualJoint[0];
y=endOfTheActualJoint[1];
z=endOfTheActualJoint[2];
i++;
createNewLine(x,y,z,endOfTheActualJoint[0],endOfTheActualJoint[1],
endOfTheActualJoint[2],actualLineLayerId);
i--;
x=endOfTheActualJoint[3];
y=endOfTheActualJoint[4];
z=endOfTheActualJoint[5];
i++;
createNewLine(x,y,z,endOfTheActualJoint[3],endOfTheActualJoint[4],
endOfTheActualJoint[5],actualLineLayerId);
i--;
}
//Plot straight lines to join the joint center points
//Plot straight lines to join the target joint center points
for(i=0;i<(row-4);i++)
{
x=lineXyzData[5];
y=lineXyzData[6];
z=lineXyzData[7];
i++;
createNewLine(x,y,z,lineXyzData[5],lineXyzData[6],
lineXyzData[7],targetLineLayerId);
i--;
}
//Plot straight lines to join the actual joint center points
for(i=0;i<(row-4);i++)
{
x=lineXyzData[32];
y=lineXyzData[33];
z=lineXyzData[34];
i++;
createNewLine(x,y,z,lineXyzData[32],lineXyzData[33],
lineXyzData[34],actualLineLayerId);
i--;
}
if(acedCommand(RTSTR,"zoom",RTSTR,"e",0)!=RTNORM)
{
return;
}
acutPrintf("\nThe span name : %s ",spanName);
acutPrintf("\nThe joint infomation : %s ",lastLine);
}
///////////////////////
//command function
///////////////////////
void runIt()
{
// readDwgFile();
plotFromCsvFile();
}
////////////////////////
//initialize function
////////////////////////
void initApp()
{
acedRegCmds->addCommand("ASDK_BRIDGE",
"Bridge",
"Bridge",
ACRX_CMD_MODAL,
runIt);
}
////////////////////
//unload function
////////////////////
void unloadApp()
{
acedRegCmds->removeGroup("ASDK_BRIDGE");
}
////////////////////////////////
//application main function
////////////////////////////////
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppRetCode msg,void* appId)
{
switch(msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(appId);
acrxDynamicLinker->registerAppMDIAware(appId);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
}
return AcRx::kRetOK;
} |
|