Ошибка invalid property value delphi

It was only recently that I started receiving this error.
I am receiving a run time error that first says ‘Invalid Property Value’, I click continue and then receive another one saying «Error reading Image2.OnClick : Invalid Property Value».

I use Image2 to manoeuvre between different forms. I have tried deleting all components named «Image2» along with any code under the OnClick event, but still receive the error.
Any suggestions?

asked Aug 9, 2018 at 10:59

joel_kruger's user avatar

6

Somewhere in one of your .dfm files that contain the design time properties of your forms, you have an OnClick property that refers to a method that has either been removed, or is invalid in some other way.

Open the .dfm file for the offending form in a text edit, and look for Image2. You will then find the offending OnClick property setting and should be able to work out how best to resolve the problem.

answered Aug 9, 2018 at 11:37

David Heffernan's user avatar

David HeffernanDavid Heffernan

599k42 gold badges1064 silver badges1482 bronze badges

2

It’s probably related to your method’s access level.

If your OnClick method is declared as either private or public, try changing its access level to Published or move it right below the form declaration line.

answered Mar 18, 2019 at 14:26

Ulisses Caon's user avatar

1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ShellApi, Registry, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP, sSkinProvider, sSkinManager, TlHelp32,
  ExtCtrls, EncdDecd, acPNG, OleCtrls, SHDocVw, Menus, NB30 ;
 
 Type
 
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    Label2: TLabel;
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    ListBox2: TListBox;
    Close: TButton;
    ComboBox1: TComboBox;
    Label3: TLabel;
    Timer1: TTimer;
    Edit1: TEdit;
    Button1: TButton;
    Timer2: TTimer;
    Label5: TLabel;
    Label6: TLabel;
    Vk: TImage;
    Like: TImage;
    Mail: TImage;
    YouTube: TImage;
    MainMenu1: TMainMenu;
    N2: TMenuItem;
    N1: TMenuItem;
    Button5: TButton;
    OpenDialog1: TOpenDialog;
    ComboBox2: TComboBox;
    N3: TMenuItem;
    sSkinManager1: TsSkinManager;
    sSkinProvider1: TsSkinProvider;
    procedure Load(Sender: TObject);
    procedure Vhod(Sender: TObject);
    procedure Next(Sender: TObject);
    //procedure Button4Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
    procedure CloseClick(Sender: TObject);
    procedure Updater(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure LikeClick(Sender: TObject);
    procedure YouTubeClick(Sender: TObject);
    procedure VkClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure News(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure Del(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  TForm3 = class(TForm)
    private
    { Private declarations }
  public
    { Public declarations }
  end;
 
 TForm2 = class(TForm)
    private
    { Private declarations }
  public
    { Public declarations }
  end;
  
Const
   versionp = '0.0.3';
 StartKey = 1556;  // Start default key
 MultKey = 955; // Mult default
 AddKey = 2365;  // Add default key
 
var
  hw:hWND;
  Form1: TForm1;
  VipAccount, Flag:Boolean;
  vip, reklama, kluch:string;
  rekN:integer;
  SerialNum,dtyp:Dword;
  oa,ob:DWORD;
  Buffer,disk: array [0..255] of char;
 
  implementation
 
uses Unit2, Unit3, Unit4, Unit5, Unit6;
 
{$R *.dfm}
.....

INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Thanks. We have received your request and will respond promptly.

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!

  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It’s Free!

*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Invalid property value

Invalid property value

(OP)

12 Feb 09 09:20

I’m writing an application in Delphi 6. Last time I saved the project everything was working, now when loading I get an error.

When loading form1.pas I get ‘Invalid property value’.
How can I determine what is causing this?

I am rather new to this so please keep that in mind when answering.

Thank you

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Join Tek-Tips® Today!

Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.

Here’s Why Members Love Tek-Tips Forums:

  • Tek-Tips ForumsTalk To Other Members
  • Notification Of Responses To Questions
  • Favorite Forums One Click Access
  • Keyword Search Of All Posts, And More…

Register now while it’s still free!

Already a member? Close this window and log in.

Join Us             Close

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    Пожалуйста, выделяйте текст программы тегом [сode=pas] … [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.


    Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
    1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
    2. Как «свернуть» программу в трей.
    3. Как «скрыться» от Ctrl + Alt + Del (заблокировать их и т.п.)
    4. Как прочитать список файлов, поддиректорий в директории?
    5. Как запустить программу/файл?
    … (продолжение следует) …


    Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
    Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


    Внимание
    Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
    Повторная попытка — 60 дней. Последующие попытки бан.
    Мат в разделе — бан на три месяца…

    >
    TReader — помогите найти ошибку

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему

      


    Сообщ.
    #1

    ,
    23.12.07, 10:42

      Вот код:

      ExpandedWrap disabled

        procedure TForm1.sButton1Click(Sender: TObject);

        var

        rr : TReader;

        tw : TWriter;

        f, rf : textfile;

        s, cr : string;

        i : integer;

        size : longint;

        buf : Pointer;

        rc : TResourceStream;

        fs : TFileStream;

        ms : TMemoryStream;

        db : array[1..150000] of string;

        begin

        i := 1;

        rc := TResourceStream.Create(hInstance,’rc_dt’, RT_RCDATA);

        ms := TMemoryStream.Create;

        ms.SetSize(20000000);

        ms.CopyFrom(rc, rc.Size);

        ms.Seek(0,0);

        rr := TReader.Create(ms, 4096);

        rr.ReadListBegin;

         while not rr.EndOfList do begin

         s := rr.ReadString;

         db[i] := s;

         inc(i);

         end;

        rr.ReadListEnd;

        rr.Free;

        rc.Free;

        if FileExists(‘data.tmp’) then DeleteFile(‘data.tmp’);

        ShowMessage(db[1]);

        ShowMessage(IntToStr(size));

        end;

      Ошибка «Invalid property value» выдаётся на строке rr.ReadListBegin; :wall:

      Моя цель — это построчно считать данные из потока и занести их в массив.

      Сообщение отредактировано: bur80 — 23.12.07, 10:45

      Profi

      Shaggy



      Сообщ.
      #2

      ,
      23.12.07, 12:00

        Moderator

        *****

        Рейтинг (т): 130

        а что в потоке? dfm?
        если да, то какой(binary/text)?


        bur80



        Сообщ.
        #3

        ,
        24.12.07, 01:17

          В потоке текстовый файл, а что есть разница ? :huh: У меня в ресурсе внутри exe`шника зашифрованный текстовый файл, я его оттуда хочу выдернуть в поток и потом построчно загнать в массив а уже из массива дешифровать и выдавать в качестве результатов пользователю.

          Сообщение отредактировано: bur80 — 24.12.07, 03:41


          bur80



          Сообщ.
          #4

          ,
          24.12.07, 08:46

            Может у кого есть какие нибудь мысли как решить проблему ?

            Profi

            Shaggy



            Сообщ.
            #5

            ,
            24.12.07, 11:04

              Moderator

              *****

              Рейтинг (т): 130

              Цитата bur80 @ 24.12.07, 01:17

              В потоке текстовый файл, а что есть разница ?

              да, TReader ожидает, что в потоке содержится необходимая служебная информация, т.е. файл в ресурсе имеет необходимый формат(dfm)

              вот такой файл, например:

              ExpandedWrap disabled

                object Test: TTest

                  List = (

                    ‘A’

                    ‘B’

                    ‘C’)

                end

              можно прочитать так:

              ExpandedWrap disabled

                Procedure ReadTextDFM(ResName:String;List:TStrings);

                Var

                  RS,MS:TStream;

                  R:TReader;

                begin

                  List.Clear;

                  RS:=TResourceStream.Create(hInstance,ResName,RT_RCDATA);

                  Try

                    MS:=TMemoryStream.Create;

                    Try

                      ObjectTextToBinary(RS,MS);

                      MS.Position:=0;

                      R:=TReader.Create(MS,1024);

                      Try

                        R.ReadSignature;

                        R.ReadStr; //TTest

                        R.ReadStr; //Test

                        R.ReadStr; //List

                        R.ReadListBegin;

                        While Not R.EndOfList Do

                          List.Append(R.ReadString);

                        R.ReadListEnd;

                        R.ReadListEnd;

                      Finally

                        R.Free;

                      End;

                    Finally

                      MS.Free;

                    End;

                  Finally

                    RS.Free;

                  End;

                End;

              только зачем эта морока с TReader?
              прочитай ресурс в строку и уже её расковыривай…


              alex_sporik



              Сообщ.
              #6

              ,
              24.12.07, 16:41

                Смахивает на то что rr.ReadListBegin; + rr.ReadListEnd; не нужны.

                Если ваш ресурс это просто текст — то точно не нужны, в противном случае предоставьте код записи в этот поток коотрый в ресурсе, или хотя бы дамп этого ресурса.


                bur80



                Сообщ.
                #7

                ,
                25.12.07, 04:30

                  Shaggy, я решил эту проблему по другому. Я из потока данные загружаю в StringList и уже с ним работаю.

                  -Added 25.12.07, 04:33

                  Цитата alex_sporik @ 24.12.07, 16:41

                  Смахивает на то что rr.ReadListBegin; + rr.ReadListEnd; не нужны.

                  Если ваш ресурс это просто текст — то точно не нужны, в противном случае предоставьте код записи в этот поток коотрый в ресурсе, или хотя бы дамп этого ресурса.

                  Тут проблема была, по всей видимости, в том что ресурс он как бы текст, но зашифрованный и поэтому из-за недопустимых символов в тексте поток не читался.

                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                  0 пользователей:

                  • Предыдущая тема
                  • Delphi: Общие вопросы
                  • Следующая тема

                  Рейтинг@Mail.ru

                  [ Script execution time: 0,0551 ]   [ 16 queries used ]   [ Generated: 7.06.23, 08:27 GMT ]  

                  м-м-м-да-а-а…. появилась эта фигня когда установил компоненты Raize очень функциональные и практичные….

                  А этот файл — dsgnintf.pas найти не могу (((

                  При этом интересно получается, ведь когда я в дизайнере ставлю этот цвет — компонента меняет цвет на какой-то темно синий или что-то в этом духе… получается ссылка на код цвета рабочая, почему только компилятор не жует… есть еще два цвета интересные — clMenuBar, clMenuHighlight…. вот…

                  Похоже копать глубже надо — модуль Graphic.pas

                  const
                  clScrollBar = TColor(COLOR_SCROLLBAR or $80000000);
                  clBackground = TColor(COLOR_BACKGROUND or $80000000);
                  clActiveCaption = TColor(COLOR_ACTIVECAPTION or $80000000);
                  clInactiveCaption = TColor(COLOR_INACTIVECAPTION or $80000000);
                  clMenu = TColor(COLOR_MENU or $80000000);
                  clWindow = TColor(COLOR_WINDOW or $80000000);
                  clWindowFrame = TColor(COLOR_WINDOWFRAME or $80000000);
                  clMenuText = TColor(COLOR_MENUTEXT or $80000000);
                  clWindowText = TColor(COLOR_WINDOWTEXT or $80000000);
                  clCaptionText = TColor(COLOR_CAPTIONTEXT or $80000000);
                  clActiveBorder = TColor(COLOR_ACTIVEBORDER or $80000000);
                  clInactiveBorder = TColor(COLOR_INACTIVEBORDER or $80000000);
                  clAppWorkSpace = TColor(COLOR_APPWORKSPACE or $80000000);
                  clHighlight = TColor(COLOR_HIGHLIGHT or $80000000);
                  clHighlightText = TColor(COLOR_HIGHLIGHTTEXT or $80000000);
                  clBtnFace = TColor(COLOR_BTNFACE or $80000000);
                  clBtnShadow = TColor(COLOR_BTNSHADOW or $80000000);
                  clGrayText = TColor(COLOR_GRAYTEXT or $80000000);
                  clBtnText = TColor(COLOR_BTNTEXT or $80000000);
                  clInactiveCaptionText = TColor(COLOR_INACTIVECAPTIONTEXT or $80000000);
                  clBtnHighlight = TColor(COLOR_BTNHIGHLIGHT or $80000000);
                  cl3DDkShadow = TColor(COLOR_3DDKSHADOW or $80000000);
                  cl3DLight = TColor(COLOR_3DLIGHT or $80000000);
                  clInfoText = TColor(COLOR_INFOTEXT or $80000000);
                  clInfoBk = TColor(COLOR_INFOBK or $80000000);
                  clGradientActiveCaption = TColor(COLOR_GRADIENTACTIVECAPTION or $80000000);
                  clGradientInactiveCaption = TColor(COLOR_GRADIENTINACTIVECAPTION or $80000000);

                  clBlack = TColor($000000);
                  clMaroon = TColor($000080);
                  clGreen = TColor($008000);
                  clOlive = TColor($008080);
                  clNavy = TColor($800000);
                  clPurple = TColor($800080);
                  clTeal = TColor($808000);
                  clGray = TColor($808080);
                  clSilver = TColor($C0C0C0);
                  clRed = TColor($0000FF);
                  clLime = TColor($00FF00);
                  clYellow = TColor($00FFFF);
                  clBlue = TColor($FF0000);
                  clFuchsia = TColor($FF00FF);
                  clAqua = TColor($FFFF00);
                  clLtGray = TColor($C0C0C0);
                  clDkGray = TColor($808080);
                  clWhite = TColor($FFFFFF);
                  StandardColorsCount = 16;

                  clMoneyGreen = TColor($C0DCC0);
                  clSkyBlue = TColor($F0CAA6);
                  clCream = TColor($F0FBFF);
                  clMedGray = TColor($A4A0A0);
                  ExtendedColorsCount = 4;

                  clNone = TColor($1FFFFFFF);
                  clDefault = TColor($20000000);

                  Вот тут нету этих цветов……

                  Чем проще — тем оригинальней, а значит гениально, т.к. все гениальное — просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD

                  Понравилась статья? Поделить с друзьями:
                • Ошибка invalid pointer operation как исправить
                • Ошибка ip конфигурации при подключении wifi на планшете
                • Ошибка invalid picture
                • Ошибка ip конфигурации wifi mikrotik
                • Ошибка intel r hd graphics 3000