Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 1392 1393 1394 1395 1396 1397 1398 [1399] 1400 1401   вперед  Ctrl
 Re: Курилка  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11557
Док, XE3 довольно стабильная. Работает неделями без перезагрузки.
Я думаю, что при использовании VCL проектов все среды сейчас довольно стабильны.
У меня был плохой опыт с D2006 и с DXE2, а вот с XE3 уже норм.
Пробовал ещё Berlin, но здесь только FMX проекты (потестить, побаловаться).
12 янв 18, 15:34    [21101938]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
rgreat
Member

Откуда:
Сообщений: 3860
Док
Гаджимурадов Рустам
Нет, конечно. Работодатель платит! (с)

т.е., фриланс исключен?
GunSmoker
2010-XE - последние среды до внедрения кроссплатформы. Т.е. самые стабильные из Unicode без FMX.

+1

по крайней мере, они ставятся в два раза быстрее :)
Фигня, самые стабильиные как раз последние.
12 янв 18, 15:44    [21101974]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2754
rgreat
Фигня, самые стабильиные как раз последние.

Такие стабильные, что на триальной 10.2 я отхватил регрессию на инлайнах, которая не проявлялась со времён глючной XE2. А обезьяна так вообще сама стабильность - стабильно не пригодна.
12 янв 18, 16:16    [21102152]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Barmaley57
Member

Откуда: Москва
Сообщений: 5695
У меня Berlin вообще память портит в приложении! Правда есть сомнения насчет некоторых компонентов - не срут ли именно они. Но в средах старее все нормально.
12 янв 18, 16:21    [21102191]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11557
Kazantsev Alexey
А обезьяна так вообще сама стабильность - стабильно не пригодна.


Ну да, далеко не идеал, но приложения создавать можно.
12 янв 18, 16:25    [21102200]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2754
X11
но приложения создавать можно

Можно, чтобы перед одноклассниками хвастаться.
12 янв 18, 16:29    [21102217]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
alekcvp
Member

Откуда:
Сообщений: 606
Кстати, о Delphi, вот это вот нормальный код (оптимизация включена)?

Картинка с другого сайта.
12 янв 18, 17:05    [21102405]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
под ван
Guest
X11
Kazantsev Alexey
А обезьяна так вообще сама стабильность - стабильно не пригодна.


Ну да, далеко не идеал, но приложения создавать можно.

Создавать - можно. Но показывать кому-то - нельзя. Об этом должно быть написано в лицензионном соглашении, просто они забыли этот пункт указать ;)
12 янв 18, 19:47    [21102919]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
чччД
Guest
под ван
X11
пропущено...


Ну да, далеко не идеал, но приложения создавать можно.

Создавать - можно. Но показывать кому-то - нельзя. Об этом должно быть написано в лицензионном соглашении, просто они забыли этот пункт указать ;)



Секретный дополнительный протокол к Договору о ненападении лицензионному соглашению.
12 янв 18, 20:08    [21103013]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Кар-Кар
Member

Откуда:
Сообщений: 16
alekcvp
Кстати, о Delphi, вот это вот нормальный код (оптимизация включена)?

Картинка с другого сайта.
Сохраняет значение, чтобы потом в FreeMem отправить или Min должен был быть инлайном? Он у меня уже много где перестал работать, вопросы к компилятору перестал задавать тоже: хотел недавно заменить out на var (чтобы не было надоедливых IntfClear/WStrClr и т.п.), "оптимизацияже"!, с интерфейсами словил утечку из-за такого кода в System:
function TObject.GetInterface(const IID: TGUID; out Obj): Boolean;
var
  InterfaceEntry: PInterfaceEntry;
begin
  Pointer(Obj) := nil;
13 янв 18, 09:11    [21103858]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2754
Кар-Кар
словил утечку из-за такого кода в System

Каким образом? Компилятор очищает же переменные управляемых типов перед передачей out-параметром.
13 янв 18, 11:46    [21103964]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Кар-Кар
Member

Откуда:
Сообщений: 16
Kazantsev Alexey
Кар-Кар
словил утечку из-за такого кода в System

Каким образом? Компилятор очищает же переменные управляемых типов перед передачей out-параметром.
Перед var-ом не очищает.
var
  Secret : IInterface;

function GetFromSecret(const IID:TGUID;var Unknown):Boolean;
begin
Result := Supports(Secret,IID,Result);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
V : IInterface;
begin
//какой-нибудь интерфейс в переменной изначально
V := TInterfacedObject.Create as IInterface;
//метод с секретными интерфейсами (как в API, Secret напрямую недоступен типа)
if GetFromSecret(IInterface,V) then
begin
  ShowMessage('Successful!');
end;
end;

initialization
Secret := TInterfacedObject.Create;

finalization
Secret := nil;
Так, у меня на x64 этот пример регистр rbp 0(!), что-то очень не так оказывается, на x32 FastMM4 рапортует об утечке. Да проследя за кодом можно понять что она есть.
13 янв 18, 12:47    [21104021]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
GunSmoker
Member

Откуда:
Сообщений: 2960
Кар-Кар, зачёт!
13 янв 18, 12:51    [21104028]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Кар-Кар
Member

Откуда:
Сообщений: 16
x64 заработал, глюк. Утечка есть, и так тоже:
var
  Secret : IInterface;

function GetFromSecret(const IID:TGUID;var Unknown):Boolean;
begin
Result := Secret.QueryInterface(IID,Unknown) = S_OK;
end;
13 янв 18, 12:51    [21104029]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2754
Кар-Кар,

Сам ошибку найдёш или показать?
13 янв 18, 13:07    [21104063]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Кар-Кар
Member

Откуда:
Сообщений: 16
Kazantsev Alexey
Кар-Кар,

Сам ошибку найдёш или показать?
Да! У меня до сих пор висят > 0, ничего пока не трогаю.
13 янв 18, 13:14    [21104069]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
alekcvp
Member

Откуда:
Сообщений: 606
Кар-Кар
Сохраняет значение, чтобы потом в FreeMem отправить или Min должен был быть инлайном?

Нет, меня удивляет конструкция вида:
mov    ebx, eax
mov    eax, ebx

Ну примитивная же оптимизация: выкинуть второй оператор, но дельфи так не может.
13 янв 18, 13:18    [21104078]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2754
Кар-Кар
Да! У меня до сих пор висят > 0, ничего пока не трогаю.

1. В Supports нужно передать не Result, а Unknown.
2. Перед вызовом Supports, компилятор не очищает Unknown т.к. для него это нетипизированная переменная.
13 янв 18, 13:20    [21104081]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Кар-Кар
Member

Откуда:
Сообщений: 16
alekcvp,

Теперь вижу. На страховку похоже.

Kazantsev Alexey
Кар-Кар
Да! У меня до сих пор висят > 0, ничего пока не трогаю.

1. В Supports нужно передать не Result, а Unknown.
2. Перед вызовом Supports, компилятор не очищает Unknown т.к. для него это нетипизированная переменная.
Случайно от руки, главное 2: вот именно. Если сделать var Unknown:IInterface, то закономерно: Types of actual and formal var parameters must be identical. Приводить к ICat(V), IKot(V) бесполезный лишний код.

Был план, чтобы получать по IID, но переменные чистились только если был бы запрашиваемый интерфейс. Не взлетело.
13 янв 18, 13:46    [21104125]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2754
Кар-Кар
Если сделать var Unknown:IInterface, то закономерно: Types of actual and formal var parameters must be identical. Приводить к ICat(V), IKot(V) бесполезный лишний код.

Мог бы делать приведение при отдаче в Supports.

Кар-Кар
Был план, чтобы получать по IID, но переменные чистились только если был бы запрашиваемый интерфейс. Не взлетело.

function GetFromSecret(const IID:TGUID;var Unknown):Boolean;
var
 intf : Pointer;
begin
 result := Secret.QueryInterface(IID, intf) = S_OK;
 if result then
  begin
   IInterface(Unknown) := NIL;
   Pointer(Unknown)    := Pointer(intf);
  end;
end;
13 янв 18, 14:35    [21104205]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11557
под ван
X11
пропущено...


Ну да, далеко не идеал, но приложения создавать можно.

Создавать - можно. Но показывать кому-то - нельзя. Об этом должно быть написано в лицензионном соглашении, просто они забыли этот пункт указать ;)


у вас просто предвзятое отношение к обезьяне
13 янв 18, 16:08    [21104407]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Кар-Кар
Member

Откуда:
Сообщений: 16
Kazantsev Alexey,

Да оно, попробую в обертках. Так-то в самом GetInterface ожидал изначально.
13 янв 18, 16:29    [21104444]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Ваш Кэп
Guest
X11,

Он просто клоун )
13 янв 18, 16:46    [21104458]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
под ван
Guest
Ваш Кэп
X11,

Он просто клоун )

Обзываться-то всякий может. А ты лучше покажи несколько красивых, функциональных и при этом популярных FMX-приложений или игр. Прямо ссылки на магазин сюда кидай - все вместе поглядим. Утри мне нос фактами! Слабо?


p.s.
Не отвечай, я и так знаю, что тебе слабо. И всем остальным тоже слабо. Потому что таких приложений и игр нет. Потому что Delphi


13 янв 18, 17:36    [21104543]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11557
Здесь http://www.orangeui.cn/product.php китаец, разработчик компонент для FMX, пишет (из гуло-переводчика): "Delphi удалось установить код, разрабатывая очень стабильную платформу IOS и Android с двумя платформами"
13 янв 18, 18:07    [21104585]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 1392 1393 1394 1395 1396 1397 1398 [1399] 1400 1401   вперед  Ctrl
Все форумы / Delphi Ответить