Перейти к содержанию
Fire Monkey от А до Я
  • 0

FMX и Windows, что нужно обновить?


Vitaldj

Вопрос

Коллеги, писал пост ранее на похожую тему, а воз и ныне там. Сегодня опять гром среди ясного неба. Написал пользователь программы, говорит, что при запуске ошибка. У него windows vista. Вот скрин:

Ошибка программы.jpg

Написана, естественно в берлине. Кроме как обновить дрова видеокарты и directX я не нашел, что пописать пользователю.

Естественно вопрос в аудиторию:

1) Что это за ошибка?

2) Как с ней бороться?

3) Какие вещи нужно обновлять в windows, для исправление этой ошибки?

Вроде сказано и мы это обсуждали, что выпилили только windows XP, а остальное осталось. Эта ошибка в viste, до этого поста была в windows 7!!! Который я тоже так и не решил!

Помогите кто чем сможет, не комильфо это, декларировать поддержку операционной системы, а ее нет((

Изменено пользователем Vitaldj
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Вообще это далеко не единственная проблема с Vista.

У меня ряд других проблем возникало с ней.

Но в итоге я просто решил отказаться от поддержки Висты. По крайней мере - не уделять ей особого внимания.

Если посмотреть на инфографику, то процент ее использования крайне низок. И исчисляется единицами (это и по личному опыту). Думаю - это больше проблемы этих пользователей, чем софта. Многие разработчики ПО аналогично - не уделяют ее поддержке особого внимания.

netmarketshare Windows.jpg

Понимаю - что это не выход из положения...

Будем и с ней разбираться, по мере возможности...

Изменено пользователем AlexG
Ссылка на комментарий
  • 0

Берлин не виноват, ошибку возвращает WinAPI, кроме драйверов видео и DirectX ничего и не сделать, разве что DLL попробовать подсунуть.

В oldschool VCL не было обращений к directx, там были GDI и GDIplus,

а FMX видимо графику сразу по-взрослому рисует в 3d.

Изменено пользователем Камышев Александр
Ссылка на комментарий
  • 0
  • Модераторы
10 минут назад, Камышев Александр сказал:

Берлин не виноват, ошибку возвращает WinAPI, кроме драйверов видео и DirectX ничего и не сделать, разве что DLL попробовать подсунуть.

В oldschool VCL не было обращений к directx, там были GDI и GDIplus,

а FMX видимо графику сразу по-взрослому рисует в 3d.

Можно и перевести в режим GDI+

Ссылка на комментарий
  • 0
2 минуты назад, ZuBy сказал:

GlobalGDIPlusEnabled := true или как то так, Делфи под рукой нет

Можно.

Можно и GlobalUseDXInDX9Mode := True; прописать

Проблема в другом! Это будет работать везде, так как это требуется прописать ДО инициализации приложения. Вообще ДО всего!

Т.е. это условие сработает для всех платформ Windows.

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

Ссылка на комментарий
  • 0
extern "C" int FMXmain()
{
	try
	{
		GlobalUseDXInDX9Mode = true;
		Application->Initialize();
		Application->CreateForm(__classid(TdmSUHttpClient), &dmSUHttpClient);
		Application->CreateForm(__classid(TForm1), &Form1);
		Application->Run();
	}

не заметил тормозов и проблем, работает вроде,

это конечно не графический движок современной видеоигры...

по теме должно помочь

Изменено пользователем Камышев Александр
Ссылка на комментарий
  • 0
4 минуты назад, Камышев Александр сказал:

extern "C" int FMXmain()
{
	try
	{
		GlobalUseDXInDX9Mode = true;
		Application->Initialize();
		Application->CreateForm(__classid(TdmSUHttpClient), &dmSUHttpClient);
		Application->CreateForm(__classid(TForm1), &Form1);
		Application->Run();
	}

не заметил тормозов и проблем, работает вроде,

это конечно не графический движок современной видеоигры...

по теме должно помочь

Ой, для паскаля (Delphi) можно код?

Ссылка на комментарий
  • 0
  • Модераторы
18 минут назад, AlexG сказал:

Можно.

Можно и GlobalUseDXInDX9Mode := True; прописать

Проблема в другом! Это будет работать везде, так как это требуется прописать ДО инициализации приложения. Вообще ДО всего!

Т.е. это условие сработает для всех платформ Windows.

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

Ну можно читать с ини конфигурацию или запуск проги с параметром, что бы можно было пользователю дать альтернативу. А на счёт тормозов, они кажется будут только в режиме 3D

Ссылка на комментарий
  • 0
5 минут назад, Vitaldj сказал:

Ой, для паскаля (Delphi) можно код?

program Project1;

uses
  System.StartUpCopy,
  FMX.Forms, FMX.Types,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  GlobalUseDXInDX9Mode := True;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

 

Ссылка на комментарий
  • 0

По поводу тормозов.

Если у вас простое приложение - возможно вы и не заметите ничего.

Если приложение достаточно активно работает с GUI, или не дай Бог с видео, - "пиши пропало" .

Я на своем убедился на 100%. Большие и сложные списки, видео, и т.д. - и все...

Так-что это альтернатива только для таких случаев, когда ну уже никак не обойтись, даже жертвуя скоростью работы GUI.

Ссылка на комментарий
  • 0
5 минут назад, AlexG сказал:

Если приложение достаточно активно работает с GUI, или не дай Бог с видео, - "пиши пропало" .

Странно, казалось бы команда GlobalUseDXInDX9Mode := True; указывает приложению работать с DirectX9 - на нем довольно шустро бегают игрушки, почему этот так кардинально сказывается на быстродействии?

Ссылка на комментарий
  • 0

Пробовал я на Windows 7, где был глюк:

GlobalUseDXInDX9Mode := True;

Не помогло. Попробую перекомпилировать исходник и выслать пользователю с vista. Отпишусь о результате.

Ссылка на комментарий
  • 0
2 минуты назад, Vitaldj сказал:

Пробовал я на Windows 7

что показал дебаг? возможно это разные случаи с w7 и vista

и да результат пжлс

Ссылка на комментарий
  • 0
35 минут назад, Камышев Александр сказал:

что показал дебаг?

Дебаг ничего не показал, так как это в учреждении стоял такой комп, прав админа у меня не было, поэтому paserver не ставил.

Ссылка на комментарий
  • 0

приложение на всех w7 падает? у меня w7 64, могу потестить

Изменено пользователем Камышев Александр
Ссылка на комментарий
  • 0
3 минуты назад, Камышев Александр сказал:

приложение на всех w7 падает? у меня w7 64, могу потестить

Да нет)) Я же писал в той ветке форума, что только на 1 компе, даже скрины прилагал!

Ссылка на комментарий
  • 0

была такая же ситуация, падала служба на виндовс сервер 2012, ставить туда ничего нельзя, злой админ, удаленка и т.д.

пришлось в коде раскидывать запись лога в файл, и в несколько итераций вышел на проблемный код, можно так

Ссылка на комментарий
  • 0
1 минуту назад, Камышев Александр сказал:

была такая же ситуация, падала служба на виндовс сервер 2012, ставить туда ничего нельзя, злой админ, удаленка и т.д.

пришлось в коде раскидывать запись лога в файл, и в несколько итераций вышел на проблемный код, можно так

Проблема то как раз в том, что вылетает ошибка в процессе инициализации))). То есть из за "движка" FMX

Ссылка на комментарий
  • 0
begin
  //сюда запись 1 в файл>
  Application.Initialize;
  //сюда запись 2 в файл>
  Application.CreateForm(TForm1, Form1);
  //сюда запись 3 в файл>
  Application.Run;
end.

для начала так, будет понятно на инициализации или при создании формы или после run

не верю что движок FMX падает, да и нет его, движка :)

Ссылка на комментарий
  • 0
4 часа назад, Камышев Александр сказал:

begin
  //сюда запись 1 в файл>
  Application.Initialize;
  //сюда запись 2 в файл>
  Application.CreateForm(TForm1, Form1);
  //сюда запись 3 в файл>
  Application.Run;
end.

для начала так, будет понятно на инициализации или при создании формы или после run

не верю что движок FMX падает, да и нет его, движка :)

Может я неважно выразился про "до инициализации" но ваш метод покажет, что все 3 записи будут существовать. То есть сама программа загружается, проходят все onshow и другие события. А глюк на этапе прорисовке. Ну не знаю как сказать))). То есть показывается главная форма, часть данных, а по какой то причине честь данных не показывается и поверх ошибка. Пытаешься нажать на "ок" этой ошибки, а поверх такая же. Или поначалу пропадает часть данных, а потом ошибка. Вот там есть скрины. там

Ссылка на комментарий
  • 0

Да проблема как раз не с grid'ами, а вообще с отображениями. А вы Сиэтл используете? В Берлине grid переписали почти полностью. Да, ИМХО grid для мобильных разработок - зло!

Ссылка на комментарий

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...