powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / UniGui UniSession.Synchronize;
25 сообщений из 48, страница 1 из 2
UniGui UniSession.Synchronize;
    #40011274
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня,

При динамическом создании объектов я вывожу прогрессбар но чтобы он "тикал" я использую функцию UniSession.Synchronize;

И вот в этот момент возникает ошибка вида

Код: pascal
1.
2.
3.
4.
5.
6.
7.
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class Exception with message 'Fatal Error: Control can not be created  with a nil Owner.'.
---------------------------
Break   Continue   Help   
---------------------------



Немножко кода
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
ShowProgress('Please Wait...');   //запускаем прогрессбар
UniSession.Synchronize;

perRecords:=perIBQuery.RecordCount-1 ;
for i:=0 to perRecords do
  begin
  UpdateProgress(i/perRecords, Format('%%%d Completed', [round(100/perRecords*i)]));
  UniSession.Synchronize;

  //создаем панельку в которой будем размещать кнопки и
  ParamString[i].Panel:=TUniPanel.Create(MainForm);
  ParamString[i].Panel.Parent:= MainForm;
  ParamString[i].Panel.Left:=10;
  ParamString[i].Panel.Top:=i*30+30;
  ParamString[i].Panel.Width:=650;
  ParamString[i].Panel.Height:=25;
  ParamString[i].Panel.Name:='panel'+inttostr(i);
  ParamString[i].Panel.Visible:=false;  //скрываем чтобы быстрее грузилось
....
perIBQuery.next;
end;



И вот проблема, когда я запускаю одну сессию, т.е. делаю только я запрос на сервер, то все хорошо, а вот если в этот же момент кто будет делать тоже запрос на сервер, то сразу становится все плохо..

А если убрать из цикла UniSession.Synchronize; то ошибок не будет.

В чем проблема?
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011277
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глупость спрошу, но демки смотрел?

http://prime.fmsoft.net/demo/desktop/mdemo65.dll

Код: pascal
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.
// ProgressBar = Form Controls
unit FormControlsProgressBar;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, uniGUITypes, uniGUIAbstractClasses,
  uniGUIClasses, uniGUIFrame, uniButton, uniLabel, uniProgressBar,
  uniGUIBaseClasses, uniPanel, uniTimer;

type
  TUniFormControlsProgressBar = class(TUniFrame)
    UniContainerPanel1: TUniContainerPanel;
    UniProgressBar1: TUniProgressBar;
    UniLabel1: TUniLabel;
    UniButton1: TUniButton;
    UniTimer1: TUniTimer;
    procedure UniTimer1Timer(Sender: TObject);
    procedure UniButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}



procedure TUniFormControlsProgressBar.UniButton1Click(Sender: TObject);
begin
  UniTimer1.Enabled := True;
end;

procedure TUniFormControlsProgressBar.UniTimer1Timer(Sender: TObject);
begin
   UniProgressBar1.Position := UniProgressBar1.Position + Random(10);
   UniLabel1.Caption := '% '+IntToStr(UniProgressBar1.Position);
   if UniProgressBar1.Position = UniProgressBar1.Max then
      UniLabel1.Caption := 'Loading Complete'
end;

initialization
  RegisterClass(TUniFormControlsProgressBar);

end.

...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011338
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

демки смотрел. с них и делал это прогрессбар. но я так понимаю там при динамическом создании объекта другие правила.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011369
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23
Код: pascal
1.
'Fatal Error: Control can not be created  with a nil Owner.'.

Какое слово здесь не понятно?
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011409
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23
при динамическом создании объекта другие правила.

Абсолютно те же.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011420
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
FIL23
Код: pascal
1.
'Fatal Error: Control can not be created  with a nil Owner.'.

Какое слово здесь не понятно?


Ну так owner есть , куда он делся?
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011547
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наоборот всё надо делать.
При динамическом создании компонент надо "замораживать" форму.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011548
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см\Demos\Desktop\Dynamic
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011552
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
self.SuspendLayouts;
...
...
self.ResumeLayouts;
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011782
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот чего не понимаю, у унигуи отличный форум, демки ну просто на каждый чих и народ один фиг отказывается хотя бы открыть документацию и посмотреть демки. Я хз как к этому относится, я не великий программист, но при знакомстве с новым компонентом открываю и смотрю КАЖДУЮ демку, что она делает и как.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011809
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
демок много, но они все очень очень простые, ни ничего сложного, комплексного
справка слабая, особенно для мобильных проектов
много приходится делать вручную с помощью методов JSCode, JSCall, JSAddListener т.к. у exJS свойства и методы есть, но их нету в uniGUI.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011811
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, есть компонента unimDBLookupCombobox с поддержкой замечательного режима RemoteQuery, т.е. когда заполняется компонента только по запросу, но этот режим не работает ключевых значений, т.е. нельзя использовать ключ+значение, а только значение.
Есть компоненты unimSelect, которая в exJS поддерживает и editable и multiselect, но из коробки этого нет и приходится это все дописывать ручками самому. Я не знаю почему авторы упорно не хотят допилить, ведь это же не сложно вроде бы.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011869
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вот таких примеров масса
http://forums.unigui.com/index.php?/topic/15375-possible-tunimform-titlebutton-to-set-badgetext/
Код: pascal
1.
2.
3.
4.
5.
6.
procedure TMainmForm.UnimFormReady(Sender: TObject);
begin
  with Self do
    WebForm.JSInterface.JSCall('setBadgeText', ['7'], TitleButtons[0].JSMenuItem);

end;
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011878
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Код: pascal
1.
with Self do
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011980
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
??
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40011990
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Зачем нужна конструкция "with Self do"?
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012001
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я тут при чем?
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012014
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
X11,

Зачем нужна конструкция "with Self do"?

Не классовые хэлперы ли там? https://stackoverflow.com/questions/37351215/how-to-access-a-private-field-from-a-class-helper-in-delphi-10-1-berlin
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012492
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

авторЯ не знаю почему авторы упорно не хотят допилить, ведь это же не сложно вроде бы.
нельзя объять необъятное. у них огромный фронт работ при достаточно увы скромном числе персонала. впрочем, это почти у всех так.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012538
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется там вообще один Фаршад реально пишет, люди которые сидят на саппорте в форуме фактически не являются разработчиками. Фаршад просто предложил им бесплатную лицензию за то чтобы они отвечали на вопросы в форуме.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012599
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
X11,

авторЯ не знаю почему авторы упорно не хотят допилить, ведь это же не сложно вроде бы.

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

они много времени уделяют десктопной версии, а мобильная очень слабо развита: нет компонентов, нет свойств, методов и т.д.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012601
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Я предупреждал. Лучше работать с десктопной.
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012623
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще не понимаю нафига страдать веб мобильной версией если уже есть fgx native которые сделает реально нативное приложение под Android и скоро под iOS
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012664
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
X11,

Я предупреждал. Лучше работать с десктопной.


десктопную сложно адаптировать под мобильную, мало того, я открыл мобильную большую форму на стареньком смартфоне HTC (пусть и топовом в свое время) и все тормозит, форма открівается секунд 5.... боюсь представить, сколько бы открывалась адаптированная десктопная форма...

далее, я не настолько в вебе умен, чтобы адаптировать десктопную форму под мобильную

далее, в десктопной форме можно использовать дб-сетку со встроенными фильтрами и сортировкой и цветовой дифференциацией штанов ячеек, и сетку нельзя адаптировать в ListView для мобильных экранов
...
Рейтинг: 0 / 0
UniGui UniSession.Synchronize;
    #40012673
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
энди
Вообще не понимаю нафига страдать веб мобильной версией если уже есть fgx native которые сделает реально нативное приложение под Android и скоро под iOS

Есть и ++ и --

1. Потому что не надо прогибаться под правила Гугла и Эпл в их магазинах. А ессли у кого-то китайский смартфон, то там и гугла нет. Ну и платить им тоже не придется, хоть там и не так и много. Потом начинается... там политика конфиденциальности, там политика еще какой-то херни, там обязательные еще какие-то требования, через полгода что-то поменяется в политиках и твое приложение выкинут, заблокируют. Не надо рассказывать, что приложение можно установить без магазина, пользователи не настолько умны.

2. uniGUI дает не только фронт, но и бэк. Что значительно упрощает разработку.

3. Вы пробовали отладку на Андроид? Сущий кошмар. Такое впечатление, что сигнал от смартфона идет не по USB, а по dile-up связи.

4. Производителей смартфонов + версий Android + версий UI-оболочек - это целый зоопарк = нужно при себе иметь кучу этих смартфонов с разными версиями Андроида на случай проблемы. В вебе - не так много браузеров, по пальцам можно пересчитать.

5. uniGUI - гибридное приложение, т.е. и для десктопа тоже, а FGX - только мобильное.

Полюс в FMX в том, что частично можно отлаживать приложение на винде и без тормозов. Но в FGX нет поддержки винды.
...
Рейтинг: 0 / 0
25 сообщений из 48, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / UniGui UniSession.Synchronize;
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]