DavKli
Messages postés28Date d'inscriptionmardi 10 mars 2009StatutMembreDernière intervention31 octobre 2013
-
30 oct. 2011 à 12:21
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 2019
-
31 oct. 2011 à 03:00
Bonjour a tous,
je ne pas trouvé de reponse sur le site alore je vais poster la question. J'ai une function que je souhait appeler avec comme argument STRING ou avec un TTreeNode. Je essaié avec un variant comme dans la demonstration :
function TMainForm.FolderToIndex(Folder: Variant): Integer;
Begin
//Code
End;
A parament, le variant n'aime pas les TTreeNodes. Autres solutions, a part deux functions differentes ?
*Tu devrais peut être commencer par regarder la différence entre type et objet.
*Les variants sont de mauvaises choses qui ne devraient pas exister : On les prend pour des fourres-tout à tord.
Pour répondre à ta question : il est possible de passer plusieurs paramètres dans une foncion. Un exemple non testé :
Function MyFunction(Const AString : String; Const ATreeNode : TTreeNode);
If AString<>'' Then
//......
If Assigned(ATreeNode) Then
//......
A appeler ainsi
Cas 1 :
MyFunction(MonString,Nil);
Cas 2 :
MyFunction('',MonTreeNode);
Cas 3 :
MyFunction(MonString,MonTreeNode);
Cas 2 :
MyFunction('',Nil);
Sinon l'idéal est de séparer le problème : une fonction pour le string, une fonction pour le treenode. Là c'est typiquement un problème de conception et non de code