Bonjour,
Je croyais mon composant TNameFileImage réglé mais, le fait d'avoir changé de poste, réinstallé Delphi etc.. suite au crash de mon défunt PC en testant à nouveau j'ai un problème RTTI
Je dois convertir un string en TFileName et vice-versa pour cela j'ai écrit ce convertisseur
Mon problème je ne sais pas trop où mettre cette déclaration dans le partie (unité) design ou dans l'unité d'enregistrement (runtime ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 initialization TValueRefConverterFactory.RegisterConversion(TypeInfo(String), TypeInfo(TFileImage), TConverterDescription.Create( procedure(const I: TValue; var O: TValue) begin if I.isType<String> then O := TFileName(I.ToString) else O := String(I.ToString); end, 'NomFichierImageToString', 'NomFichierImageToString', EmptyStr, True, EmptyStr, nil) ); finalization TValueRefConverterFactory.UnRegisterConversion(TypeInfo(String), TypeInfo(TFileImage));
Actuellement dans la partie "design" le composant fonctionne très bien dans l'EDI par contre à l'exécution
Cela indiquerai donc qu'il faudrait que je mette cette déclaration dans la partie enregistrement j'ai tenté mais même punition ! sauf à indiquer dans ma liste des usesErreur
---------------------------
EvalError dans LinkControlToField1 : Incapable de trans-typer ou de trouver des convertisseurs entre les types string et TBitmap.
uses .., ImageFileFMX,regImageFileFMX; soit les deux unités (alors que quand je pose le composant seule l'unité ImageFileFMX se mette automatiquement)
la bonne option semblerait donc de mettre ce convertisseur dans l'unité enregistrement. Sachant que le composant est dual framework VCL/FMX n'y aura t-il pas un soucis ?
Mon soupçon se porte sur ma méthode de création de paquets, ne faudrait-il pas que je crée un paquet designtime et un paquet runtime ? c'est là où je sèche comment fait-on ça "proprement" (c.a.d. pour une installation facile) ?
Partager