Bonjour,
Voici mon problème: Je dois être en mesure d'appeler une fonction selon la valeur d'un champ dans une base de données. Cette valeur représente le nom de la fonction.
J'ai trouvé ceci:
http://www.developpez.net/forums/d17...tenu-variable/
Ça fonctionne très bien pour l'appel. Par contre, ça plante dans ma fonction. En effet, l'appel ce fait sur un objet de type TDocument (ma classe). J'ai donc mis la fonction à appelé dans le Published.
Or, dans la fonction que j'appelle avec le nom, j'utilise une méthode Protected (ça fonctionne encore) mais par contre le crash se produit lors du retour de la valeur de la variable membre qui est Private (j'ai essayé de la mettre Protected ou Public mais j'obtiens le même problème).
Voici mon bout de code:
Puis dans la classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Methode: Function():AnsiString Of Object; @Methode := Document.MethodAddress(Champs[0].strCH_Fonction); strTemp := Methode; Caption := strTemp;
Merci de votre aide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 published function obtenirDocumentIDFormate(): AnsiString; // Ma fonction function TDocument.obtenirDocumentIDFormate(): AnsiString; var strTemp: AnsiString; iCompteur: Integer; begin showmessage('dans fonction'); strTemp := IntToStr(obtenirDocumentID()); <- ÇA PLANTE ICI! Result := strTemp; end;
Partager