BOnjour,
J'ai un Type :
Qui voit son code défini dans une de mes fiches.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 type TUpdateBD = procedure(const pRespStat :TObjectCollection; const cas: string; const pLogID, pCampaignID : integer);
Je passe à une fonction (d'une autre fiche qui ne doit pas avoir la premiere défini dans ses uses sinon je me triturerais pas autant les méninges ) ces valeurs :
Et je voudrais pouvoir faire effectuer lors du code de ApplyLog la fonction pUpDateBD si <> nil genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Procedure TCampaign.ApplyLog (const pLogCollec : TObjectCollection; pUpDateBd : TUpdateBD = nil);
mais le vilain compilateur me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ( pUpDateBd <> nil ) then pUpdateBD(self.RespondentStatus, 'insert', StrToInt(tmpID), self.ID);
[Erreur] Campaign.pas(657): Pas assez de paramètres originaux .
j'ai essayé en transtypant : TUpdateBD(pUpDateBD) le résultat est le même.
A quoi est ce du, je ne peux pas faire ca comme ca ? Car si je ne met pas ce if :
quand j'arrive avec un nil au moment de lancer la procédure j'ai une erreur de violation d'accès 000000, ce qui est normal.Comment faire , merci .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 pUpdateBD(self.RespondentStatus, 'insert', StrToInt(tmpID), self.ID);
Partager