une manipulation de Form que je ne sais pas faire
Bonjour,:zoubi:
Je suis amené à migrer l'ihm d'une application dans une DLL
J'ai une form qui est crée dans l'application principale et utilisée dans la dll
J'ai donc codé un setter pour passer cette valeur
Malheureusement le compilateur refuse mon type;
le vous donne le code appelant, et la procédure appellée
Code:
1 2 3 4 5
|
// Create the application main window
Application->CreateForm(__classid(TFormMemoriaAligner), &FormMemoriaAligner);
objMenuToolbarmanager.SetFormAligner( FormMemoriaAligner);
if (objMenuToolbarManager.ActivateItemsAndButtons(&sVectorMenuItems) != INIT_NO_ERROR) |
la déclaration de la procédure appelée
Code:
1 2
|
erc SetFormAligner( TFormMemoriaAligner Form ); |
et l'implémentation
Code:
1 2 3 4 5
|
__declspec (dllexport) erc CMenuToolbarManager::SetFormAligner(TFormMemoriaAligner Form)
{
pFormMemoriaAligner = Form;
} |
le compilateur me dit ) attendue !!!
une alternative pour moi serait de récupérer la valeur de Application qui est connu dans le main
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
CSoftwareManager * pObjSoftwareManager;
try
{
pObjSoftwareManager = new CSoftwareManager;
bool bMMImode = true ;
Application->Initialize();
if (INIT_NO_ERROR != pObjSoftwareManager->Initialization(bMMImode))
{
delete pObjSoftwareManager;
return 1;
}
delete pObjSoftwareManager;
objParserManager.InitParserManager( 2);
Application->Title = "ALIGNER";
Application->CreateForm(__classid(TFormMemoriaAligner), &FormMemoriaAligner);
Application->Run();
}
catch (Exception &exception)
{
delete pObjSoftwareManager;
Application->ShowException(&exception);
}
catch (...)
{
delete pObjSoftwareManager;
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
} |
et dans ce cas je transformerai le setter comme suit
Code:
1 2 3 4 5
|
__declspec (dllexport) erc CMenuToolbarManager::SetApplication( Application )
{
Application->CreateForm(__classid(TFormMemoriaAligner), &FormMemoriaAligner);
} |
comment s'en sortir, l'une ou l'autre des solutions permettrai d'arriver au résultat
j'ai essayé plusieurs approches sans succès