-
Постов
12 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные skaplich
-
-
Пример глянул, суть понятна ,я так уже делал - именно в создании главной формы - это лучше всего.
Но все хотел вернуться и работать как в VCL.
На ошибках учаться.
Всех благодарю, далее сам буду копать.
-
Application.ProcessMessages;
после тоже не помогает, пробовал
Кривяков Виталий
спасибо, посмотрю, многое пояснили, а тоя все думал, чего начинаю обращаться к типа созданным формам, а у меня ошибки валятсяFMX особая штука, на которую смотреть надо по-другому
и хоть и книжку читал, не помогло!
-
frmSplash.Transparency=True
-
frmSplash.ShowModal попробовал - отображает форму тоже, вот такие приколы
-
Всем привет. в VCL таких проблем не имел.
Delphi XE8
файл проекта
Application.Initialize;
frmSplash := TfrmSplash.Create(Application);
frmSplash.LabelMessage1.Text:='Загрузка программы';
frmSplash.LabelMessage2.Text:='';
frmSplash.Show;if frmSplash.Visible then
begin
//MessageDlg('видимая', System.UITypes.TMsgDlgType.mtInformation, [system.UITypes.TMsgDlgBtn.mbOk], 0);
end;Sleep(1000);
Application.CreateForm(TfrmDM, frmDM);
Application.CreateForm(TfrmMain, frmMain);
frmSplash.Hide;
Application.Run;форма frmSplash невидима при закрузке, если комментарий стять со строки MessageDlg, то становиться видимой
вот такие чудеса
далее при создании главной формы будет код, если меняю текст в splash форме, то ничего не происходит
procedure TfrmMain.FormCreate(Sender: TObject);
if not FileExists(GetCurrentDir + '\base.db') then
begin
Application.ProcessMessages;
frmSplash.LabelMessage1.Text := 'Создание базы данных';
frmSplash.LabelMessage2.Text := 'Создание таблиц'; // на экране ничего не меняетSleep(3000); // чтобы увидеть
end;
Не меняет текст
Application.ProcessMessages;
frmSplash.LabelMessage2.Repaint;
не помогает
Если начинаю работать
Application.CreateForm(TfrmDM, frmDM);
Application.CreateForm(TfrmMain, frmMain);Application.CreateForm(TfrmDM, frmDM);frmDm.FDConnection1.Params.Add('Database=' + GetCurrentDir + '\base.db');
frmDm.FDConnection1.Params.Add('DriverID=SQLite'); // тип БДв файле проекта - валиться вообще AppCrash
а в TfrmMain.FormCreate - работает код
Нужна реально работающая Splash форма с возможностью изменения текста Label и чтобы это отображалось на экране.
Splash форма не убивается, а Hide, в дальнейшем можно использовать ее отображение ,когда программа работает какое-то время
Жду ответов.
-
придется xe8 поставить и там писать...
-
Click - событие работает, а DblClick не работает
в обработчик прописываю, чтобы видеть текущие координаты
Label1.Text:='x='+IntToStr(Grid.ColumnIndex)+' y='+IntToStr(Grid.Selected);
XE5
Grid.HitTest=True
В Осипове очень мало по FMX, в справке не хватает примеров использования. Где есть более подробная документация?
-
Спасибо большое за подсказку, реально, только видимые! Если высоту строки поменять, чтобы все было видно, то тогда все в ажуре.
-
Даже если GridLand.RowCount:=20 к примеру делаем сразу, а не по строке, все равно ChildrenCount выше 9 для столбца не поднимается
-
-
Привет всем!
Имеется TGrid. У него 10 колонок TimageColumn.
По нажатию на кнопку добавляю строки
GridLand.RowCount:=GridLand.RowCount+1;
GridLand.Selected:=GridLand.RowCount; // выбираю последнюю добавленную строку
// смотрю сколько строк в гриде, а сколько реально есть в столбце
Label1.Text:='Col='+IntToStr(GridLand.ColumnCount)+' row ChildrenCount='+IntToStr(GridLand.Columns[3].ChildrenCount)+' row Grid='+IntToStr(GridLand.RowCount);
Прикол в том, что на цифре 9 GridLand.Columns[3].ChildrenCount (номер столбца от 0-до 9 значения не имеет),
GridLand.Columns[3].ControlsCount - то же самое
останавливается, а строки добавляются дальше.
То есть строки GridLand.RowCount увеличиваются, а GridLand.Columns[3].ChildrenCount больше 9 не бывает!
И доступа к элементам выше 9 нет
GridLand.Columns[2].Children , где i>=10 и i<=GridLand.RowCount дает ошибку
Argument out of range
Жду предложений как исправить данный глюк!
Splash Form не отображается
в Формы
Опубликовано
сделал, все работает
frmSplash.LabelMessage1.Text := 'Создание базы данных';
frmSplash.LabelMessage2.Text := 'Создание таблиц';
frmSplash.LabelMessage1.Repaint;
frmSplash.LabelMessage2.Repaint;
Application.ProcessMessages;
при изменении текста на форме и все отображается теперь
всем спасибо, надо учитывать особенности FRX и понимать, как он работает.
тема закрыта