On Fri, 9 Jul 2004, Ron Weidner wrote:

> I thought I was getting closer to understanding
> pointers but it appears that I'm still not getting it.
>  I wrote the following code fragment but it doesn't
> compile.  the errors I get are...
> 
> Widget_container_class.pas(80,27) Error: Illegal
> qualifier
> Widget_container_class.pas(88,23) Error: Illegal
> qualifier
> Widget_container_class.pas(88,29) Error: Illegal
> expression
> Widget_container_class.pas(88,29) Fatal: Syntax error,
> ";" expected but "(" found
> 
> I numbered lines 80 and 88 in comments so that the
> error messages make sense.  (to the experienced
> programmer like yourself :) )Please let me know if you
> see what the problems are.  
> 
> {$H+}
> unit Widget_container_class;
> interface
> uses
> Attribute_class,Widget_class,Widget_entity_class,web;
> type PWidgetList=^TWidgetList;
> TWidgetList=record
>       widget:pointer;
>       next:PWidgetList;
> end;
> 
> type PWidgetContainer=^TWidgetContainer;
> TWidgetContainer=Object(TWidget)
>       private 
>               PCurWidget,PHeadWidget:PWidgetList;
>               text:string;
>       public  
>               constructor init(ATag:string);  
>               procedure Render();
>               procedure SetText(str:string);
>               function GetText():string;      
>               procedure MoveFirstWidget();
>               procedure MoveLastWidget();
>               procedure AddWidget(PWidget:pointer);
>               procedure RenderWidgets();
> end;
> 
> procedure TWidgetContainer.RenderWidgets();
> begin
>       MoveFirstWidget();
>       while (PCurWidget^.next <> nil) do
>       begin
>               PCurWidget^.widget:=PWidget(PCurWidget^.widget); // cast the pointer 
> to a widget pointer
>               if (PCurWidget^.widget^.meta = 'ENTITY') then // this is line 80

At first glance, this should read 
  PwidgetSomething(PCurWidget^.widget)^.meta = 'ENTITY'
because widget is an untyped pointer ?

And the same for the other line ?

Michael.

_______________________________________________
fpc-pascal maillist  -  [EMAIL PROTECTED]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to