(D6) Serveur COM (DLL) et allocation de mémoire

et allocation de mémoire (D6) Serveur COM (DLL) - Delphi/Pascal - Programmation

Marsh Posté le 17-04-2004 à 20:47:25    

Coucou!
 
J'ai un pti problème. Je crée une DLL qui héberge un serveur COM pour modifier le menu contextuel de l'explorateur windows (en particulier, j'implémente l'interface IContextMenu). Son utilisation s'effectue en plusieurs temps:
 
1) une procédure de ma classe est appelée par l'explorateur pour l'initialiser; c'est là que je récupère les noms des fichiers qui sont concernés.
2) un moment où à un autre une autre procédure de ma classe est appelée pour que je modifie le menu
3) un moment où à un autre une autre procédure de ma classe est appelée pour que je donne une petite chaîne d'aide
4) un moment où à un autre une autre procédure de ma classe est appelée pour que je réagisse au clic sur un des nouveaux menus ajoutés
 
Le problème c'est que pour les temps 2, 3 et 4 (surtout 4 en fait ^^) j'ai besoin de connaître la liste des fichiers qui a été donnée en 1. Donc, j'ai besoin de stocker cette liste quelque part!
Alors j'ai déclaré un TStringList dans ma classe, mais explorer plante. Dans l'exemple livré avec Delphi, un seul nom de fichier est sauvé, dans une variable statique (tableau de char à taille fixe); mais, vu que j'ai plusieurs fichiers potentiellement beaucoup) il faudrait quand même que je puisse utiliser une variable dynamique... dont la taille change quoi...
Mais je sais pas trop comment faire pour ça :( j'ai essayé de mettre ShareMem en 1er uses mais ça marche pas :p

Reply

Marsh Posté le 17-04-2004 à 20:47:25   

Reply

Marsh Posté le 17-04-2004 à 21:09:39    

Beeeen en utilisant un string plutôt qu'un TStringList ça marche :|
D'où ma nouvelle question ^^ Pourquoi un TStringList ça marche pas? ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed