Jump to content

Как создать тему в багрепортах?


Tokay
 Share

Recommended Posts

Всем доброго дня. Для начала благодарности. Спасибо за интересную библиотеку. Похоже - как раз то, что нам нужно. Сейчас решается вопрос о покупке одной либо нескольких лицензий. Но есть некоторые сложности с использованием. Пытаюсь использовать библиотеку на нескольких своих проектах. В одном из них, достаточно сложном, есть несколько проблем, скорее всего на стороне библиотеки UniGui. Либо неправильное её использование, либо баги.

Мы используем RC триал.

 

Во-первых, хочу создать баг-репорт на форуме, но не могу: "You cannot start a new topic".

Скажите - куда можно писать и как вообще происходит поддержка?

 

По самой библиотеке, вот что случается:

 

1. в одном случае срабатывает ассерт:

 

---------------------------
Debugger Exception Notification
---------------------------
Project Project2.exe raised exception class EAssertionFailed with message 'Attempt to access nil session reference (H:\Framework\uniGUI\Source\Core\ExtPascal.pas, line 1247)'.
---------------------------
Break   Continue   Help   
---------------------------
 
на вот таком коде:
 
Session.FNodeFields.RootNode := FTV.Items.AddNode(nil, ParentNode, '', Session, naAddChild);

Здесь:

 

FTV:TUniTreeView;
RootNode:     TUniTreeNode;
 
2. во втором случае случается AV:
 
---------------------------
Debugger Exception Notification
---------------------------
Project Project2.exe raised exception class $C0000005 with message 'access violation at 0x00793350: read of address 0x00000064'.
---------------------------
Break   Continue   Help   
---------------------------
 
Вот в этом месте:
function Form2: TForm2;
begin
 Result := TForm2(UniMainModule.GetFormInstance(TForm2));
end;

форма Form2 существует и открыта.

Link to comment
Share on other sites

По поводу второй проблемы думаю за проблему с многопоточностью. Возможно, что форма создаётся в одной сессии, а доступ к форме идёт из другой. Как вообще это узнать?

 

https://unigui.wikispaces.com/Standard+units+in+an+uniGUI+project

 

"In other words, each session (i.e. each MainModule) will have its own DataModule. If the DataModule contains a DataSet (i.e. TADOTable or TFDTable), each session will have its own instance of this DataSet"

 

Можно ли как-то у UniMainModule запрашивать не какую-то форму вообще, а определённую?
 
Вообще - формы UniGUI являются thread safe? В отличие от того же VCL?
 
Жду ответа  :)
 
p.s. похоже, проблема не в доступе из разных потоков. Мне удалось повторить проблему с минимальной обвязкой. Пошлю пример на указанный ящик. С первой проблемой будет, скорее всего, не так просто.
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.

 Share

×
×
  • Create New...