Leucistic
Messages postés61Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention16 juin 2012
-
26 nov. 2009 à 09:27
Leucistic
Messages postés61Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention16 juin 2012
-
26 nov. 2009 à 12:47
Bonjour,
Je m'excuse d'avance de cette question sûrement très bête mais je bloque dessus depuis 2 jours.
Après avoir regardé plusieurs post sur ce forum et d'autres, et suivi plusieurs tutoriel, je reste néanmoins bloqué.
J'essaie simplement de créer une classe et de l'utiliser.
Voici le code complet de ma classe Playlist.pas:
unit Playlist;
interface
uses SysUtils;
type
TPlaylist = class
private
FVariable : string;
public
constructor Create(Param:string);
destructor Destroy;
function getParam : String;
end;
implementation
constructor TPlaylist.Create(Param:string);
begin
FVariable:=Param;
end;
destructor TPlaylist.Destroy;
begin
end;
function TPlaylist.getParam : String;
begin
Result := FVariable;
end;
end.
et voici comment je l'utilise dans ma form Unit.pas:
procedure TForm1.Button1Click(Sender: TObject);
var
test : TPlaylist;
begin
test.Create('test');
Button1.Caption := test.getParam;
end;
Malgré tout, dès que je click sur mon bouton, une exception EAccessViolation est levée et le code s'arrete sur Button1.Caption := test.getParam;
Merci d'avance pour votre aide, et encore désolé.
-----------------------------------------------------------
L'ouverture de l'esprit n'est pas une fracture du crâne
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 26 nov. 2009 à 11:16
Ha, ça me rappelle quand moi aussi j'ai fait cette erreur pour la première fois. En fait c'est très logique du point de vue programmation, vu que comme l'objet n'est pas encore créé, tu ne peux pas y accéder. Il faut donc appeller la méthode générique du type que tu as créé, qui va s'occuper de tout mettre en place puis qui va ensuite relayer tout ça au véritable constructeur (Create).
A y réfléchir, oui c'est assez illogique quand on le voit pour la première fois
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 26 nov. 2009 à 12:12
C'est clair, qui ne s'est pas arraché les cheveux en voyant la violation d'acces sur cette ligne (peut etre les chauves) ! Surtout si tu viens d'un autre langage qui utilise un syntaxe de ce genre ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Leucistic
Messages postés61Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention16 juin 20121 26 nov. 2009 à 12:47
Effectivement vu comme ca ...
Mais c'est vrai que c'est le seul langage objet que je connaisse qui utilise ce genre de syntaxe...
Il faut dire que je ne suis pas un grand fan du delphi, bien que je reconnais qu'il est souvent très simple, utile et sans .NET ou virtual machine ou autre ...
L'ouverture de l'esprit n'est pas une fracture du crâne