Pull to refresh
0
0
Александр Алексеев @GunSmoker

User

Send message

Ещё один из вариантов: https://www.keymouse.com/ - начинка для 3D-печатного корпуса.

Тут хорошо бы помнить про такую особенность: https://quality.embarcadero.com/browse/RSP-30050

Архитектор Delphi — это как бы Андерс Хейлсберг. Тот самый, который «архитектор C#». Интерфейсы в Delphi появились в аккурат в момент его ухода в Microsoft. И введены они были ради поддержки COM (выше про IUnknown уже сказали), так что ничего удивительного в их реализации нет.
Так вот дело в том, что в статье не написано, зачем нужен именно MyClass: TMyClass. И поэтому решение в виде переопределения _AddRef/_Release вызывает недоумение.

P.S. Кстати «Kill(const Intf: IMyIntf)» — не решение в общем случае, поскольку код метода Kill может передавать интерфейс в другие методы, которые изменяют счётчик ссылок.
Если основное назначение объекта — реализация интерфейса, то с этим объектом нужно работать исключительно через интерфейсные переменные.

Иными словами, вместо:
procedure TForm1.Button1Click(Sender: TObject);
var
  MyClass: TMyClass;
begin
  MyClass := TMyClass.Create;
  try
    Kill(MyClass);
  finally
    MyClass.Free;
  end;
end;

должно быть:
procedure TForm1.Button1Click(Sender: TObject);
var
  MyClass: IMyClass;
begin
  MyClass := TMyClass.Create;
  Kill(MyClass);
end;


Это стандартное правило хорошего тона при работе с интерфейсами в Delphi.
Т.е. из-за одной буквы вы готовы горы свернуть и привнести в программу смешение стилей?
Так исторически сложилось. Это стандартный стиль.
Ты вообще сам смотрел, что по этим ссылкам?
Ну, сами они говорили, что не безпричинно: после выхода турбы (и особенно после нахождения обходного пути по установке компонент) им стало нечем платить з/п, ибо турба съела основную часть покупателей. Конечно, сказано это было не такими словами :) но смысл был именно такой.

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

К чести Embarcadero надо сказать, что это не значит, что они не заботятся о своём будущем — у них есть вариант лицензии для обучения за смешную цену (относительно полной). Да вспомнить хотя бы продажу миллиона лицензий российским школам.
Разумеется. Я бы тоже ожидал вялый энтузиазм после задержки ожидаемой кросс-платформенности.

Ну, кроме того, эта акция ещё не закончилась.
Запятая потому что пропущена была: «Выяснить, что явилось причиной, поможет Event Log».
> При покупке RAD Studio XE теперь вы получаете лицензию на все предыдущие версии Delphi и RAD Studio в подарок!

Щедро, да. Вкусная морковка.
> И последнее: в делфи до сих пор нет поддержки х64?

Они стараются, честно.
А разработчики Delphi как жили, так и живут… не зная, что скрипач уже не нужен они уже не нужны.

Мы разрабатываем, ну можно назвать это, компоненты для Delphi — и я вам скажу, что дофига всего в мире пишется на Delphi. Могу судить это по запросамм в наш суппорт, где в подписи часто указывают компании.
Allen Bauer сказал, что тупо не успели, и что кросс-платформенность и x64 они планируют закончить в начале-середине 2011-го (это было на форумах Embarcadero, где обсуждали обновлённый roadmap).

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Date of birth
Registered
Activity