zwyx
Messages postés146Date d'inscriptionjeudi 22 novembre 2007StatutMembreDernière intervention21 mars 2016
-
20 févr. 2008 à 14:26
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
21 févr. 2008 à 19:50
Bonjour,
Je bloque sur un point tout bête, tellement simple, que google, mon ami, me boude quand je lui demande de l'aide. Je vous explique mon problème par un bref exemple.
unit Unit1;
interface
uses
//...
function ConvertAToB(myA: TA; myB: TB);
type
TA: Extended; // par exemple
TB: String; // par exemple
implementation
//...
La déclaration de la fontion ConvertAToB bloque à la compilation car les types des arguments n'ont pas encore été déclarés. Comment puis-je m'en sortir à votre avis ?
type
TA= Extended; // par exemple
TB= String; // par exemple
TForm1 = class(TForm)
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
zwyx
Messages postés146Date d'inscriptionjeudi 22 novembre 2007StatutMembreDernière intervention21 mars 2016 20 févr. 2008 à 15:15
Bah oui, c'est bien là le sujet de ma question.
Mais je ne peux pas déclarer ma fonction après la section type qui définit TA et TB, me trompe-je ?
J'ai essayé de supprimer la déclaration de la fonction ConvertAToB dans la partie interface . Ca compile bien, sauf évidemment si je fais appel à cette fonction dans une autre unité qui use la première Unit1.
zwyx
Messages postés146Date d'inscriptionjeudi 22 novembre 2007StatutMembreDernière intervention21 mars 2016 21 févr. 2008 à 13:59
Oui, désolé, j'ai écrit faux depuis le début. Mais je pensais effectivement à
function ConvertAToB(myA: TA): TB;
Encore désolé pour le désordre que ça aura causé et merci de m'avoir corrigé.