Ik ben voor een opdracht bezig op applicatie te maken mbv Lazarus, maar hierbij stuit ik op rare problemen die lijken te worden veroorzaakt door de Free Pascal compiler. Het gaat om de volgende code:
De "FEvent := AddEvent" toekenning genereert deze foutmelding: Wrong number of parameters specified. De compiler schijnt niet door te hebben dat deze toekenning gaat over het opslaan van een referentie ipv het resultaat van de functie aanroep.
Deze code werkt bijvoorbeeld wel in Delphi, maar FP compiler wil het maar niet slikken. Heeft iemand een idee hoe dit probleem verholpen kan worden?
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
| TOnSomething = procedure(Sender: TObject; Item: TObject) of Object; procedure TForm1.Button1Click(Sender: TObject); var FEvent: TOnSomething; begin FEvent := AddEvent; end; procedure TForm1.AddEvent(Sender: TObject; Item: TObject); begin ShowMessage('Add'); end; |
De "FEvent := AddEvent" toekenning genereert deze foutmelding: Wrong number of parameters specified. De compiler schijnt niet door te hebben dat deze toekenning gaat over het opslaan van een referentie ipv het resultaat van de functie aanroep.
Deze code werkt bijvoorbeeld wel in Delphi, maar FP compiler wil het maar niet slikken. Heeft iemand een idee hoe dit probleem verholpen kan worden?
[ Voor 11% gewijzigd door AquilaDus op 02-10-2006 18:09 ]