Delphi 2009 и так далее и тому подобное... |
Ветка предназначена для обсуждения Delphi 2009 и С++ Builder 2009 и других тем, касающихся использования и развития данных программных продуктов.
Всего в теме 811 сообщений
Добавить свое сообщение
Отслеживать это обсуждение <<<... | 801—792 | 791—782 | ...>>> Всего сообщений в теме: 811; страниц: 82; текущая страница: 2
№ 801 04-10-2013 00:44 | |
Вобщем, версия под андроид еще глючная. программа которая нормально рисует график под виндой, почему-то не рисует его в экстремумах наандроиде. Или андроид считает что если линия длиной в одну точку то ее вообще не надо рисовать? :) Или так поступает firemonkey в редакции под андроид?
Ну и что хуже всего -ни разу система не пережила более двух запусков сеанса отладки в эмуляторе. падает androiddbg.exe и все, до перезагрузки компа(не среды а компа!) Дельфи не виджит запущенного эмулятора в упор. Посмотрим что будет при запуске приложения на устройстве.. эмуляторы штука вообще глючноватая..
№ 800 26-09-2013 22:03 | |
разнобой между FMX для винды и для андроида - при рисовании линий для винды по умолчанию не надо задавать сплошную кисть а под андроидом надо, иначе линию не рисует. Да, и отладкой приожениий под андроид лучше заниматсья на компе с четырехъядернымпроцессором, и 8 гигами оперативки :)
№ 799 25-09-2013 00:30 | |
Ответ на »сообщение 798« (Albero)
___________________________
не факт, от я с жаво н знаком. Ну да, кнопочек на форму в экслипсе накидать просто.. почитав startandroid например :) Цены точно дикие, учитывая что андоидные программы тоько под arm.. Вс-же мне жаль что борланду не достался бейсик на растерзание, лучше бы майкрософт наложила лапу на паскаль :)
№ 798 24-09-2013 23:00 | |
Странно они как-то себя ведут, при отсутствие части необходимого функционала.
Баги переходящие от версии к версии. И отсутствие поддержки старых версий при высокой частоте появления новых.
С минимальной ценой в 15т.р. за обновления каждые пол года, а в идеале нужна RAD S. с ценой от 60т.
За что платить? когда есть совершенно бесплатно, не чуть не сложней та же android studio.
Описанные плюсы, совершенно не вкладываются в ценовую политику.
Доводы одна среда разработки - один разработчик.
То есть один разработчик не как не сможет писать под android и под ios?
При огромном наличие разнообразной информации по том уже android и в сравнение полной отсутствие по FM.
Как не странно, человек не знакомый с java, сделает приложение на ней не чуть не медленней чем на новой XE5.
№ 797 24-09-2013 20:48 | |
нарвался настранный подводный камень в XE5 - у canvas в firemonkey есь сойство scale - а у меня была такая переменная, и возщник конфликт который приводил к неправильной работе программы. (график был меньше в 20 раз :) ). при этом в отладчикепоказывалось не значение свойства canvas азначение моей переменной.. Хотя идеи о проблеме с масштабом напрашивались сами собой.
№ 796 22-09-2013 20:26 | |
так, а на андроидах с системой команд процессора x86 ее программы работать не будут, похоже. странно, и досадно :)
№ 795 21-09-2013 06:05 | |
Посмотрел тут триал xe5. взникло ощущение что они обмениваются библиотекой слазарусом. одна старая симптоматичная программа стала себя вести так-же как с лазарусом. :) Под андроид вроде всепутем, в витуалке даже аппаратное ускорение opengl работает. Хотя натсройки забавные, программа требует себе кучуразрешений и из-за этогоможет на виртуалке не запуститься. Компонентов для андоида куча. Вобщем, все что огрочает -ценовая политика. И то что у дешевой версии нету андроид-разработки.. По-моему надо им чисто под анроид сделать бесплатную :)
№ 794 26-04-2013 16:15 | |
И ещё. FreeAndNil vs. Free. Опять же - не нравится - удаляйте. Тема "ошибки VCL" - почему-то нерабочая. Ну или может у меня руки кривые.
http://18delphi.blogspot.com/2013/04/vcl_4022.html
В Delphi XE3 все эти проблемы - присутствуют.
Заменяю Free на FreeAndNil.
Понятно почему?
Обычный сценарий таков:
TA = class
private
FField : TComponent;
protected
procedure DoSomething;
procedure DoSomething1; virual;
destructor Destroy; override;
end;
TB = clas(TA)
protected
procedure DoSomething1; override;
end;
destructor TA.Destroy;
begin
FField.Free;
DoSomething1;
inherited;
end;
procedure TA.DoSomething;
begin
if (FField <> nil) then
FField.CallSomeMethod;
end;
procedure TA.DoSomething1;
begin
end;
procedure TB.DoSomething1;
begin
DoSomething;
inherited;
end;
-- никакой магии и никакого "хоккея" ( http://18delphi.blogspot.com/2013/04/blog-post_8.html), но огребаем AV.
Посему - я обычно тупо беру FAR и Alt-F7. И тупо заменяю все Free на FreeAndNil. Хуже - уж точно не становится.
№ 793 26-04-2013 15:09 | |
И ещё. Опять же - не нравится - удаляйте.
http://18delphi.blogspot.com/2013/04/vcl_26.html
destructor TControl.Destroy;
begin
Application.ControlDestroyed(Self);
if (FHostDockSite <> nil)
and not (csDestroying in FHostDockSite.ComponentState) // - это я добавил
then
begin
FHostDockSite.Perform(CM_UNDOCKCLIENT, 0, Integer(Self));
SetParent(nil);
Dock(NullDockSite, BoundsRect);
FHostDockSite := nil;
end else
SetParent(nil);
...
end;
Без этого падало на Delphi 7 и продолжает падать на Delphi XE3. Если просто сделать конструкцию из нескольких панелей и вдоченных форм. А потом попытаться одну из вдоченных форм убить.
Это тоже был долгий разбор лет 10-ть назад. Примеры повторения - есть. Но рафинированный - пока не выделил.
№ 792 26-04-2013 15:02 | |
Не нашёл куда запостить.
Пишу сюда. Если неинтересно - удаляете. Я - не расстроюсь.
http://18delphi.blogspot.com/2013/04/vcl.html
Ошибка в VCL:
procedure TControlCanvas.CreateHandle;
...
if FControl = nil then
inherited CreateHandle
else
begin
// Creation of a window could trigger messages that require
// the canvas to have a valid handle. Prevents creating two DCs.
if (FDeviceContext = 0) and (FControl is TWinControl) then
TWinControl(FControl).HandleNeeded;
if FDeviceContext = 0 then
begin
with CanvasList.LockList do
try
if Count >= CanvasListCacheSize then FreeDeviceContext;
FDeviceContext := FControl.GetDeviceContext(FWindowHandle);
if (IndexOf(Self) < 0) then {V} // - это я добавил
Add(Self);
finally
CanvasList.UnlockList;
end;
end;
Handle := FDeviceContext;
UpdateTextFlags;
end;
...
end;
Без этого падает тут:
// Free the first available device context
procedure FreeDeviceContext;
var
I: Integer;
begin
with CanvasList.LockList do
try
for I := 0 to Count-1 do
with TControlCanvas(Items[I]) do
if TryLock then
try
FreeHandle; // - тут
Exit;
finally
Unlock;
end;
finally
CanvasList.UnlockList;
end;
end;
Или тут:
procedure FreeDeviceContexts;
var
I: Integer;
begin
with CanvasList.LockList do
try
for I := Count-1 downto 0 do
with TControlCanvas(Items[I]) do
if TryLock then
try
FreeHandle; // - тут
finally
Unlock;
end;
finally
CanvasList.UnlockList;
end;
end;
Как повезёт.
Что в общем-то и понятно - одна канва может несколько раз попасть в CanvasList.
Сейчас попробую найти рафинированный сценарий повторения ошибки. У меня уж очень сложный сценарий. Но там никакого своего "хоккея" - нет. Просто надо долгий сценарий выполнить.
Поправил я эту ошибку 18 апреля 2002 года. 11-ть лет назад. Я тогда искал её ДВЕ НЕДЕЛИ. Выпуск даже затягивался. Весь мозг себе сломал. В Delphi XE3 - она до сих пор присутствует.
<<<... | 801—792 | 791—782 | ...>>> Всего сообщений в теме: 811; страниц: 82; текущая страница: 2
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|