[lazarus] old delphi conversion & lrs
Mattias Gaertner
nc-gaertnma at netcologne.de
Mon Jul 15 04:30:37 EDT 2002
On Sun, 14 Jul 2002 22:26:57 +1000
John August <johna at babel.apana.org.au> wrote:
> I'm still having problems, in that the structures set up by the lrs
> file are not happening. Regardless of whether the { $I ...} statement
> is there or not, all that happens is that the default Form1, unlabelled,
> is set up, without any of the underlying structure. There's no caption,
> you cannot click and get anything to happen.
The simplest reason is that the wrong resource is looked up. But I guess you have already checked for the form name and classname ...
> Is there a way of finding out just what the .lrs file has setup ?
Add some writelns to the form constructor. For example:
constructor TForm1.Create(TheOwner: TComponent);
var i: integer;
begin
inherited Create(TheOwner);
writeln('ComponentCount=',ComponentCount);
for i:=0 to ComponentCount-1 do begin
writeln('i=',i,' Name=',Components[i].Name,':',Components[i].ClassName);
end;
end;
> Two (possibly related) questions :
>
> - If the files are named differently (case, using .PAS rather than .pp)
> in the .lrs file, will this cause problems ? Would it be detected ?
Just look into the .lrs file, it is simple pascal code. The Lazarus resources are case insensitive.
> - Can you have a panel within the root (TForm1 / Form1) Form ? I have
> problems getting this to work, and I know the application wants to
> set this up.
Just checked. TPanel on a Form works.
Maybe this will help:
- check if the line in the .lrs corresponds to your form. For example, if you declared the form variable:
var Form1: TForm1;
then the .lrs file should contain a statement:
LazarusResources.Add('TForm1','FORMDATA', ... );
Mattias
More information about the Lazarus
mailing list