Bonjour les pro du FreePascal,

J'ai grandement besoin d'aide... ça va sûrement vous faire rire, mais ....

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
{$MODE OBJFPC}
PROGRAM Test;
 
TYPE TMaClass = CLASS
CONSTRUCTOR Init;
END;
 
CONSTRUCTOR TMaClass.Init;
BEGIN
END;
 
BEGIN
END.
C'est on ne peut plus rudimentaire.. et pourtant j'obtiens ce message d'erreur complétement incongru :
Error: Operation ">" not supported for types "Pointer" and "Pointer"
La ligne indiquée est celle du BEGIN du constructeur.

Heuuuu.... comment défini t-on un constructeur pour une classe ? J'ai tout essayé, et j'obtient toujours ce message d'erreur (le TurboPascal ne fonctionnait pas de cette manière, il utilisait OBJECT).

Autre chose encore.

Pour créer une instance, je doit faire TMaClass.Create : dans ces conditions, comment appeler le constructeur Init ? J'ai essayé new(TMaClass.Init), mais le compilateur refuse cette construction.

Et si je fais new(TMaClass), le compilateur me dit qu'il attend un nom de type... parce que TMaClass n'est pas un identificateur de type ?

C'est basique, je sais, mais c'est peut-être pour ça que la question vaut la peine d'être posée

Et si je suis bête, c'est pas une raison pour me laisser m'endormir toujours si bête ce soir

P.S. J'ai essayé d'autres directives {$MODE ...}, mais sans succés (DELPHI, FPC, etc).