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 begin PCurWidget^.widget:=PWidgetEntity(PCurWidget^.widget); end else begin PCurWidget^.widget:=PWidgetContainer(PCurWidget^.widget); end; PCurWidget^.widget^.Render(); //line 88 PCurWidget:=PCurWidget^.next; dispose(PHeadWidget); PHeadWidget:=PCurWidget; end; end; Ron_W __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal