Problème avec les commandes DDE (WM_DDE_INITIATE) sous WinXP ...
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 2014
-
8 avril 2011 à 12:47
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 2014
-
8 avril 2011 à 12:50
Bonjour à tous,
voilà, j' utilise mon compo TcyDDECmd qui est ici
Composants Cindy pour Delphi dans un programme qui permet d' ouvrir les fichiers *.tif sous Windows XP simplement en double cliquant sur un fichier tif sous Windows Explorer.
Le programme fonctionne à merveille sous Windows Vista dans les 2 cas de figure possible:
- le programme n' est pas ouvert: il s' ouvre et visualise bien le fichier tif cliqué sous Windows Explorer.
- le programme est déjà ouvert: le fichier tif cliqué s' ouvre.
Le problème est que le même programme ne fonctionne pas dans le 1er cas de figure (le programme n' est pas encore ouvert) sous WinXP alors que j' ai déjà utilisé mon compo pour d' autres extensions de fichiers sans aucun problème de ce genre.
Étant donné que je n' ai pas delphi sous WinXp, il est très difficile de cerner le problème mais j' ai remarqué que, lorsque le programme n' est pas encore ouvert donc et que je double clique sur un fichier tif, le message WM_DDE_INITIATE n' est pas reçut par mon compo ni par la form principale.
procedure TfrmPrin.FormShow(Sender: TObject);
var VersionInfo: TOSVersionInfo;
begin
if AnsiLowerCase( ParamStr(1) ) = 'register'
then begin
// Tiff :
cyDDECmd1.RegisterOptions.ExtensionDescription := 'Ficheiros tiff';
cyDDECmd1.RegisterOptions.ExtensionKey := 'imageview-tiff';
cyDDECmd1.RegisterOptions.FileExtension := '.tiff';
if not cyDDECmd1.RegisterOpenCmd(true)
then begin
Mensagem(' Não tem direitos de administrador para executar esta tarefa!');
Exit;
end;
// Tif :
cyDDECmd1.RegisterOptions.ExtensionDescription := 'Ficheiros tif';
cyDDECmd1.RegisterOptions.ExtensionKey := 'imageview-tif';
cyDDECmd1.RegisterOptions.FileExtension := '.tif';
if not cyDDECmd1.RegisterOpenCmd(true)
then begin
Mensagem(' Não tem direitos de administrador para executar esta tarefa!');
Exit;
end;
if (VersionInfo.dwPlatformId <> VER_PLATFORM_WIN32_NT) or (VersionInfo.dwMajorVersion <= 5)
then begin
SBOpen.FlatDownStyle := dsHidden;
SBOpen.FlatHotStyle := hsHidden;
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 8 avril 2011 à 12:50
J' oublais de préciser que le programme s' ouvre quand même et j' ai un message d' erreur windows qui me dit que le fichier tif est introuvable?!!
Notez que le programme fonctionne correctement sous Vista.