Delphi: EReadError with message ‘Property PageNr does Not Exist’.

Posted by lyborko on Stack Overflow See other posts from Stack Overflow or by lyborko
Published on 2010-04-21T11:53:25Z Indexed on 2010/04/21 21:43 UTC
Read the original article Hit count: 158

Filed under:

Hi,

I get SOMETIMES error message: EReadError with message 'Property PageNr does Not exist', when I try to run my own project. I am really desperate, because I see simply nothing what is the cause. The devilish is that it comes up sometimes but often. It concerns of my own component TPage. Here is declaration>

TPage = class(TCustomControl)   //
   private
      FPaperHeight, FPaperWidth:Integer;
      FPaperBrush:TBrush;
      FPaperSize:TPaperSize;
      FPaperOrientation:TPaperOrientation;
      FPDFDocument: TPDFDocument;
      FPageNr:integer;

      procedure PaintBasicLayout;
      procedure PaintInterior;
      procedure SetPapersize(Value: TPapersize);
      procedure SetPaperHeight(Value: Integer);
      procedure SetPaperWidth(Value: Integer);
      procedure SetPaperOrientation(value:TPaperOrientation);
      procedure SetPaperBrush(Value:TBrush);
      procedure SetPageNr(Value:Integer);
   protected
      procedure CreateParams(var Params:TCreateParams); override;
      procedure AdjustClientRect(var Rect: TRect); override;
   public
      constructor Create(AOwner: TComponent);override;
      destructor Destroy;override;
//      function GetChildOwner:TComponent; override;
      procedure DrawControl(X,Y :integer; Dx,Dy:Double; Ctrl:TControl;NewCanvas:TCanvas);
//      procedure GetChildren(Proc:TGetChildProc; Root:TComponent); override;
      procedure Loaded; override;
      procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  override;
      procedure Paint; override;
      procedure PrintOnCanvas(X,Y:integer; rX,rY:Double; ACanvas:TCanvas);
      procedure PrintOnPDFCanvas(X,Y:integer);
      procedure PrintOnPrinterCanvas(X,Y:integer);
      procedure Resize; override;
      procedure SetPrintKind(APrintKind:TPrintKind; APrintGroupindex:Integer);
   published
      property PageNr:integer read FPageNr write SetPageNr;
      property PaperBrush: TBrush read FPaperBrush  write SetPaperBrush;
      property PaperHeight: integer read FPaperHeight write SetPaperHeight;
      property PaperWidth: integer read FPaperWidth write SetPaperWidth;
      property PaperSize: TPaperSize read FPaperSize write SetPaperSize;
      property PaperOrientation:TPaperOrientation read FPaperOrientation write SetPaperOrientation;
      property PDFDocument:TPDFDocument read FPDFDocument write FPDFDocument;
      property TabOrder;
   end;

I thoroughly read the similar topic depicted here:

Delphi: EReadError with message 'Property Persistence does Not exist'

But here it is my own source code. No third party. Interesting: when I delete PageNr property in my dfm file (unit1.dfm), then pops up : EReadError with message 'Property PaperHeight does Not exist'. when I delete PaperHeight then it will claim PaperWidth and so on...

Here is piece of dfm file:

 object pg1: TPage
    Left = 128
    Top = 144
    Width = 798
    Height = 1127
    PageNr = 0
    PaperHeight = 1123
    PaperWidth = 794
    PaperSize = psA4
    PaperOrientation = poPortrait
    TabOrder = 0
    object bscshp4: TBasicShape
      Left = 112
      Top = 64
      Width = 105
      Height = 105
      PrintKind = pkNormal
      PrintGroupIndex = 0
      Zooming = 100
      Transparent = False
      Repeating = False
      PageRepeatOffset = 1
      ShapeStyle = ssVertical
      LinePosition = 2
    end
    object bscshp5: TBasicShape
      Left = 288
      Top = 24
      Width = 105
      Height = 105
      PrintKind = pkNormal
      PrintGroupIndex = 0
      Zooming = 100
      Transparent = False

What the hell happens ??????? I have never seen that. I compiled the unit several times... Encoutered no problem. Maybe the cause is beyond this. I feel completely powerless.

© Stack Overflow or respective owner

Related posts about delphi