Найдено 103 результата

MylnikovDm
20.11.2020 22:51:48
Форум: Общее
Тема: Проверка указателя на объект
Ответы: 16
Просмотры: 39883

Re: Проверка указателя на объект

Объясняю популярно в чём состоит проблема.

При выделении памяти под экземпляр класса мы в переменную получаем указатель на начало данных класса. Но на самом деле указатель на виртуальную таблицу методов (VMT) тоже где-то должен присутствовать вместе с экземляром объекта. И этот указатель расположен ...
MylnikovDm
08.09.2020 00:22:20
Форум: Обучение Free Pascal
Тема: Книга «Экспресс курс программирования в Lazarus»
Ответы: 273
Просмотры: 603880

Re: Книга «Экспресс курс программирования в Lazarus»

На странице 6 в разделе "модификаторы" пропущен overload .

И на мой взгляд, не хватает поясняющих примеров непосредственно на языке Free Pascal, которые демонстрируют правильное использование синтаксических конструкций. Есть только общие описания.

Также в описаниях синтаксических конструкций явно ...
MylnikovDm
25.08.2020 13:29:26
Форум: Помощь за вознаграждение
Тема: Не большой проект из Delphi в Lazarus перенести
Ответы: 24
Просмотры: 109376

Re: Не большой проект из Delphi в Lazarus перенести

Интересно, а на кой в этой программе GDIPlus?
Я не увидел функционала, где бы GDIPlus требовался.
На первый взгляд всё может быть реализовано штатными средствами Lazarus без всяких дополнительных модулей и библиотек.
MylnikovDm
25.08.2020 13:20:59
Форум: Общее
Тема: Динамические списки записей
Ответы: 32
Просмотры: 51571

Re: Динамические списки записей

TFPList как раз использует механизм связаных цепочек, элемент указывает на следующий элемент, против TList, где используется массив.
скорость вставки в любом месте не должна быть разной.
Откуда вы взяли этот бред?
Откройте исходники и посмотрите. TFPList использует внутри массив PPointerList ...
MylnikovDm
06.06.2020 01:29:09
Форум: Free Pascal Compiler
Тема: free pascal vs Delphi 10.3
Ответы: 39
Просмотры: 36716

Re: free pascal vs Delphi 10.3

Этот идиотизм было легко допустить, т. к. первоначальный вариант заведомо не бросал исключений, поэтому finally был необязателен.

Может быть тогда объяснишь, каким образом переменные внутри блока помогут избежать проблемы с исключением, которое ты сам же и добавил внутрь блока, где раньше был не ...
MylnikovDm
05.06.2020 00:16:47
Форум: Free Pascal Compiler
Тема: free pascal vs Delphi 10.3
Ответы: 39
Просмотры: 36716

Re: free pascal vs Delphi 10.3

Ой, окружающий код внезапно стал неправильным, вот незадача.

А разве у нас есть такие седы разработки, где любой специально написанный идиотизм всегда будет правильным?

Возможно, что я излишне старомоден, но я предпочитаю чётко видеть в коде, где и когда будут освобождаться те или иные ресурсы ...
MylnikovDm
03.06.2020 23:41:58
Форум: Free Pascal Compiler
Тема: free pascal vs Delphi 10.3
Ответы: 39
Просмотры: 36716

Re: free pascal vs Delphi 10.3

Вот именно, явное управление ресурсами (ручное освобождение объектов) гораздо сложнее и провоцирует гораздо больше ошибок. Освободить локально выделенный ресурс не из-под finally — уже ошибка.

Как говорил наш преподаватель программирования по поводу управлениям ресурсами: "обезьяну очень легко ...
MylnikovDm
06.03.2020 13:52:27
Форум: Разработки на нашем сайте
Тема: САПР на Lazarus
Ответы: 844
Просмотры: 1432503

Re: САПР на Lazarus

Посмотрел, что по этому поводу пишут в документации по команде spline m

Ты прав, они используют b-spline, причём, судя по описанию формата dxf, у них когда то были регулярные b-сплайны, но сейчас они про это ничего в документации к команде не пишут.

Также я понял, как они делают режим fit. Если у ...
MylnikovDm
05.03.2020 23:11:42
Форум: Разработки на нашем сайте
Тема: САПР на Lazarus
Ответы: 844
Просмотры: 1432503

Re: САПР на Lazarus

Сижу второй день "курю" всяческую инфу по поводу NURBS. При этом складывается такое ощущение, что все статьи по ним специально написаны таким образом, чтобы было ни хрена не понятно, как из этих формул перейти к конкретным вычислениям для конкретной задачи.

Тем не менее, по ходу изучения я выяснил ...
MylnikovDm
02.03.2020 15:02:28
Форум: Разработки на нашем сайте
Тема: САПР на Lazarus
Ответы: 844
Просмотры: 1432503

Re: САПР на Lazarus

Привет, Zub!

В ветке про кривые Безье ты сказал, что в ЗКаде нет кривых Безье, поскольку некогда было разбираться с математикой.

Вот готовые функции вычисления координат точек для кривых Безье 2 и 3 порядка.

interface

type

TDblPoint = packed record
x, y: double;
end;
PDblPoint ...
MylnikovDm
02.03.2020 14:50:42
Форум: Общее
Тема: Расстояние от точки до кривой Безье(сплайна)
Ответы: 8
Просмотры: 25190

Re: Расстояние от точки до кривой Безье(сплайна)

Держите готовые проверенные функции для вычисления точек кривой Безье с заданным количеством шагов для 2 и 3 порядка.

interface

type

TDblPoint = packed record
x, y: double;
end;
PDblPoint = ^TDblPoint;

//расчёт точек для кривой Безье
//если количество точек aStep указано равным 0, либо ...
MylnikovDm
14.01.2019 23:11:00
Форум: Lazarus
Тема: event на невизуальном классе
Ответы: 21
Просмотры: 15853

Re: event на невизуальном классе

Если вы не знаете как применить возможности RTTI в своих программах, то это ещё не значит, что это нужно только для дизайнера.

Опять же, вас никто не заставляет писать так, как вам нравится.
MylnikovDm
14.01.2019 19:19:28
Форум: Lazarus
Тема: event на невизуальном классе
Ответы: 21
Просмотры: 15853

Re: event на невизуальном классе

MylnikovDm, ты не прав. Этот проперти позволит в будущем заменить переменную на вызов метода, да и служит дополнительным контролем от непланомерного изменения переменной. То есть, это реализация инкапсуляции.

MylnikovDm заранее не всегда известно понадобятся ли геттеры и сеттеры для нового ...
MylnikovDm
14.01.2019 10:45:12
Форум: Lazarus
Тема: event на невизуальном классе
Ответы: 21
Просмотры: 15853

Re: event на невизуальном классе

Нет смысла объявлять поле как property, если вы не используете функции для чтения или записи значений, при этом давая доступ к значению функции и для записи, и для чтения.
То есть, код типа:

type
TMyClass = class
private
FData: integer;
public
property Data: integer read FData write ...
MylnikovDm
14.01.2019 10:29:43
Форум: Lazarus
Тема: аналог static в lazarus
Ответы: 9
Просмотры: 7534

Re: аналог static в lazarus

Разница между глобальными переменными в pascal и static в функциях C только в области видимости. В остальном это одно и тоже. В обоих случаях компилятор выделяет область памяти в общем пуле программы и инициализирует данную переменную значением на этапе компиляции.

В некоторых случаях способ ...