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