Salut,

J'ai implémenté un descendant des TOpenDialog en utilisant un template défini dans une ressource (*.res).

Pour plus d'info sur les templates pour les TOpenDialogue il suffit de regarder le code des TOpenPictureDialog dans ExtDlgs.pas, en gros :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function TMyOpenDialog.Execute(ParentWnd: HWND): Boolean;
begin
  if NewStyleControls and not (ofOldStyleDialog in Options) then
    Template := 'BSDLGTEMPLATE01'
  else
    Template := nil;
 
  Result := inherited Execute(ParentWnd);
end;
La boite de dialogue fonctionne parfaitement tant que le projet n'est pas compilé pas avec les "package d'exécution" (vcl en particulier).
Si il est compilé avec les package alors la methode execute affiche un sablier et se termine sans rien faire.

Si il est compilé mais que le template n'est pas affecté alors la boite de dialogue s'ouvre, mais bien sur sans les fonctionnalités ajoutées !

En debuggage, on arrive sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Result := inherited Execute(ParentWnd);
qui ne fait rien et renvoie faux.

si quelqu'un à une idée sur la question...