Jump to content

Обращение из ClientEvents к Panel и Frame


nimarufa

Recommended Posts

Непонятно как в JS обращаться ко фрейму (TUniFrame). У него нет JSName и описанный в документации метод обращения через MainForm.MyFrame1… для него тоже не работает. Пример прилагаю.

На форму положил панель и фрейм. В конструкторе формы для обоих добавляю обработчик на click. Для панели код работает, для фрейма нет. Обращение в обоих случая однотипное. Для фрейма есть ещё закомментированный код, он работает, но интересует именно не закомментированный код, очень нужно чтобы он заработал.

procedure TMainForm.UniFormCreate(Sender: TObject);
begin
  UniPanel1.ClientEvents.ExtEvents.Add(
    'click=function function click(sender, eOpts) ' +
    '{ ' +
    '  MainForm.UniPanel1.setPosition(MainForm.UniPanel1.x,MainForm.UniPanel1.y+50); ' + // works for panel
    '}'
  );

  MyFrame1.ClientEvents.ExtEvents.Add(
    'click=function function click(sender, eOpts) ' +
    '{ ' +
    '  MainForm.MyFrame1.setPosition(MainForm.MyFrame1.x,MainForm.MyFrame1.y+50); ' +  // not works for frame
//    '  sender.setPosition(sender.x,sender.y+50); ' +                                 // works for frame  
    '}'
  );
end;

 

FrameTest.zip

Link to comment
Share on other sites

7 minutes ago, nimarufa said:

Для фрейма есть ещё закомментированный код, он работает, но интересует именно не закомментированный код, очень нужно чтобы он заработал.

MainForm.MyFrame1, используйте без MainForm:

MyFrame1.setPosition...

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...