I have a very basic and simple class like this:
unit Loader;
interface
uses
  Vcl.Dialogs;
type
  TLoader = Class(TObject)
  published
      constructor Create();
  end;
implementation
{ TLoader }    
constructor TLoader.Create;
begin
   ShowMessage('ok');
end;
end.
And from Form1 i call it like this:
procedure TForm1.Button1Click(Sender: TObject);
var
 the : TLoader;
begin
  the := the.Create;
end;
Now, just after the the := the.Create part, delphi shows the message with 'ok' and then gives me an error and says Project Project1.exe raised exception class $C0000005 with message 'access violation at 0x0040559d: read of address 0xffffffe4'.
Also it shows this line:
constructor TLoader.Create;
begin
   ShowMessage('ok');
end; // <-------- THIS LINE IS MARKED AFTER THE ERROR.
I am new at delphi. I am using Delphi XE2 and i couldnt manage to fix this error. Does anyone show me a path or have solution for this?
var
  the : TLoader;
begin
  the := the.Create;
is incorrect. It should be
var
  the : TLoader;
begin
  the := TLoader.Create;
                        You've got the syntax wrong. If you're constructing a new object, you should use the class name, not the variable name, in the constructor call:
procedure TForm1.Button1Click(Sender: TObject);
var
 the : TLoader;
begin
  the := TLoader.Create;
end;
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With