Vi mostro questo sorgente di Unit in cui come esempio ho creato un programma con una casella di testa.Cliccando sulla finestra, il testo dalla casella di testo dovrebbe essere trasferito all'interno di una variabile stringa contenuta in una classe da me creata.
Questa operazione però porta ad un errore dei indirizzamento della memoria da parte del compilatore: a quanto pare, è come se l'oggetto non fosse in grado di indirizzare la variabile contenuta all'interno di esso.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Casella: TEdit;
procedure Form1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
nuovaclasse = class
public
stringa: string;
procedure Smod(str: string);
end;
var
Form1: TForm1;
obj: nuovaclasse;
implementation
{$R *.dfm}
procedure nuovaclasse.Smod(str: string);
begin
self.stringa:= str;
end;
procedure TForm1.Form1Click(Sender: TObject);
begin
obj.stringa:= Casella.Text; //Questa istruzione causa un errore di indirizzamento
obj.Smod(Casella.Text); //Anche quest'altra causa un simile errore
end;
end.