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

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

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


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

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

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

Откуда:
Сообщений: 1088
Кстати, о 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 [заблокирован]

Откуда:
Сообщений: 21
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

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

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

Откуда:
Сообщений: 21
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

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

Откуда:
Сообщений: 21
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

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

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

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

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

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

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

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

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

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

Откуда:
Сообщений: 21
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

Откуда:
Сообщений: 2924
Кар-Кар
Если сделать 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
Сообщений: 12230
под ван
X11
пропущено...


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

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


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

Откуда:
Сообщений: 21
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
Сообщений: 12230
Здесь http://www.orangeui.cn/product.php китаец, разработчик компонент для FMX, пишет (из гуло-переводчика): "Delphi удалось установить код, разрабатывая очень стабильную платформу IOS и Android с двумя платформами"
13 янв 18, 18:07    [21104585]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
под ван
Guest
X11
Здесь http://www.orangeui.cn/product.php китаец, разработчик компонент для FMX, пишет (из гуло-переводчика): "Delphi удалось установить код, разрабатывая очень стабильную платформу IOS и Android с двумя платформами"

Ну, компонент-то всяких целые тысячи - и?

Вопрос же был в другом: что насчёт "красивых, функциональных и при этом популярных FMX-приложений или игр" в магазинах эпла и гугла? Есть ссылки? Вот и я о том же
13 янв 18, 18:19    [21104616]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
чччД
Guest
под ван
X11
Здесь http://www.orangeui.cn/product.php китаец, разработчик компонент для FMX, пишет (из гуло-переводчика): "Delphi удалось установить код, разрабатывая очень стабильную платформу IOS и Android с двумя платформами"

Ну, компонент-то всяких целые тысячи - и?

Вопрос же был в другом: что насчёт "красивых, функциональных и при этом популярных FMX-приложений или игр" в магазинах эпла и гугла? Есть ссылки? Вот и я о том же


Разве "в магазинах" уже пишут, на чем написан продукт?
13 янв 18, 18:21    [21104620]     Ответить | Цитировать Сообщить модератору
 Re: Курилка  [new]
Док
Member

Откуда: Казань
Сообщений: 5701
Вот погодите, появится дельфевая VCL под линукс, пойдут вопросы, подобные этим. Там народ о сих пор думает, в чем дело ;)
13 янв 18, 18:29    [21104634]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 1394 1395 1396 1397 1398 [1399] 1400 1401 1402 1403 .. 1456   вперед  Ctrl
Все форумы / Delphi Ответить