|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : ordre des déclarations [ Divers / Aide et documentation ] (zwyx)
Informations & options pour cette discussion
mercredi 20 février 2008 à 14:26:12 |
ordre des déclarations

zwyx
|
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 ?
|
|
|
mercredi 20 février 2008 à 14:38:27 |
Re : ordre des déclarations

Francky23012301
|
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type TA= Extended; // par exemple TB= String; // par exemple TForm1 = class(TForm) private { Déclarations privées } public { Déclarations publiques } end;
var Form1: TForm1;
implementation
{$R *.dfm}
function ConvertAToB(myA: TA):TB; Begin // End;
|
|
|
mercredi 20 février 2008 à 14:39:53 |
Re : ordre des déclarations

Francky23012301
|
Si tu préfères :
Procedure ConvertAToB(myA: TA; Var myB:TB); Begin // End;
|
|
|
mercredi 20 février 2008 à 15:03:59 |
Re : ordre des déclarations

zwyx
|
Très bien. Je ne savais pas qu'on pouvait ne pas déclarer les méthodes dans la partie interface. Je vous l'avais dit que c'était une question facile !  Merci Francky23012301.
|
|
|
mercredi 20 février 2008 à 15:09:09 |
Re : ordre des déclarations

Francky23012301
|
Surtout le probleme est ailleurs :
function ConvertAToB(myA: TA; myB: TB);
type TA: Extended; // par exemple TB: String; // par exemple
Ta fonction fait apelle à des types qui ne sont meme pas encore définit, car définis apres : Donc erreur de compilation (Types non connus)
|
|
|
mercredi 20 février 2008 à 15:15:41 |
Re : ordre des déclarations

zwyx
|
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.
Retour à la case départ.
|
|
|
mercredi 20 février 2008 à 15:55:59 |
Re : ordre des déclarations
|
mercredi 20 février 2008 à 23:44:02 |
Re : ordre des déclarations

Delphiprog
|
Y a un léger blême : function ConvertAToB(myA: TA; myB: TB);
En Pascal, une fonction doit TOU-JOURS renvoyer un résultat. La réponse de Cirec est donc la plus exacte : function ConvertAToB(myA: TA):TB;
May Delphi be with you !
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.  <> Urgent : aidez les, svp !
|
|
|
jeudi 21 février 2008 à 01:03:24 |
Re : ordre des déclarations

f0xi
|
y'a DEUX problemes : function ConvertAToB(myA: TA; myB: TB);
>> Erreur pas de retour a la fonction type TA: Extended; // par exemple TB: String; // par exemple
>> Erreur ":" trouvé alors que "=" attendus ... donc : interface
type TA = Extended; TB = String;
function ConvertAToB(const A: TA): TB; // ou // procedure ConvertAToB(const A: TA; var B: TB);
implementation
function ConvertAToB(const A:TA): TB; begin result := Format('%.2n',[A]); end;
end.
|
|
|
jeudi 21 février 2008 à 13:59:24 |
Re : ordre des déclarations

zwyx
|
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é.
|
|
|
Cette discussion est classé dans : ordre, exemple, bloque, déclarations, convertatob
Répondre à ce message
Sujets en rapport avec ce message
inspecteur d'objet [ par sauduge ]
Salut,lors de la création de composant visuel, comment rassembler dans l'inspecteur d'objetplusieurs properties dans un groupe ? à la manière des prop
tri properties [ par sauduge ]
Salut,quand on propose plusieurs choix pour une propriété, les differents items sont classé par ordre chronologique dans l'inspecteur d'objet . Exempl
Requête mysql, pk ça marche pas? je montre mon exemple [ par Gokuan ]
hello tout le monde, Alors suite à ma question, comment lire les données d'un champs (nom par exemple), j'ai simplement créer un champs N° dans la bas
Exemple d'utilisation pour DateTimePicker [ par snoopy2405 ]
Salut,Je debute en prog et je cherche un exemple d'utilisation pour DateTimePicker, par exemple je saisie la date du mon interface et elle se retrouve
Problème de Socket [ par chicoboss6 ]
yep,voila, je suis entrain de créer une gestion de réseau avec delphi 7 et j'ai un probleme au niveau des sockets : Je ne vois pas trop comment les dé
Aide sur la manipulation des fichiers!! [ par sim4444 ]
Bonjour à tous,j'aimerais créer une application qui lit des fichiers qui contiennent des commandes et que l'application exécute les commandes qu'il fa
Pilote pour périphérique virtuel [ par Forman ]
Bonjour Ma question est assez technique: je voudrais savoir comment programmer un pilote de périphérique audio virtuel pour Windows (XP par exemple).
Organiser une table en ordre décroissant avec un TTable ? [ par codial ]
Bonjour, Dans une appli de gestion d'entrainement, je voudrais une fois les résultats saisis mettre à jour, à partir d'une procédure que j'ai écrite (
delphi + MSDE [ par exyacc ]
quelqu'un aurait il un lien pour trouver un exemple (simple) ou un tutoriel ou meme un bouquin, de comment ca marche delphi avec MSDE ...et en simple
Telecharger une partie d'un fichier [ par florenth ]
Bonjour à tous, Dans le cadre de mon application, je voudrais pouvoir télécharger une partie d'un fichier présent sur un serveur HTTP. Par exemple, je
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|