Объясняю популярно в чём состоит проблема.
При выделении памяти под экземпляр класса мы в переменную получаем указатель на начало данных класса. Но на самом деле указатель на виртуальную таблицу методов (VMT) тоже где-то должен присутствовать вместе с экземляром объекта. И этот указатель расположен ...
Найдено 103 результата
- 20.11.2020 22:51:48
- Форум: Общее
- Тема: Проверка указателя на объект
- Ответы: 16
- Просмотры: 39883
- 08.09.2020 00:22:20
- Форум: Обучение Free Pascal
- Тема: Книга «Экспресс курс программирования в Lazarus»
- Ответы: 273
- Просмотры: 603880
Re: Книга «Экспресс курс программирования в Lazarus»
На странице 6 в разделе "модификаторы" пропущен overload .
И на мой взгляд, не хватает поясняющих примеров непосредственно на языке Free Pascal, которые демонстрируют правильное использование синтаксических конструкций. Есть только общие описания.
Также в описаниях синтаксических конструкций явно ...
И на мой взгляд, не хватает поясняющих примеров непосредственно на языке Free Pascal, которые демонстрируют правильное использование синтаксических конструкций. Есть только общие описания.
Также в описаниях синтаксических конструкций явно ...
- 25.08.2020 13:29:26
- Форум: Помощь за вознаграждение
- Тема: Не большой проект из Delphi в Lazarus перенести
- Ответы: 24
- Просмотры: 109376
Re: Не большой проект из Delphi в Lazarus перенести
Интересно, а на кой в этой программе GDIPlus?
Я не увидел функционала, где бы GDIPlus требовался.
На первый взгляд всё может быть реализовано штатными средствами Lazarus без всяких дополнительных модулей и библиотек.
Я не увидел функционала, где бы GDIPlus требовался.
На первый взгляд всё может быть реализовано штатными средствами Lazarus без всяких дополнительных модулей и библиотек.
- 25.08.2020 13:20:59
- Форум: Общее
- Тема: Динамические списки записей
- Ответы: 32
- Просмотры: 51571
Re: Динамические списки записей
TFPList как раз использует механизм связаных цепочек, элемент указывает на следующий элемент, против TList, где используется массив.
скорость вставки в любом месте не должна быть разной.
Откуда вы взяли этот бред?
Откройте исходники и посмотрите. TFPList использует внутри массив PPointerList ...
скорость вставки в любом месте не должна быть разной.
Откуда вы взяли этот бред?
Откройте исходники и посмотрите. TFPList использует внутри массив PPointerList ...
- 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 был необязателен.
Может быть тогда объяснишь, каким образом переменные внутри блока помогут избежать проблемы с исключением, которое ты сам же и добавил внутрь блока, где раньше был не ...
Может быть тогда объяснишь, каким образом переменные внутри блока помогут избежать проблемы с исключением, которое ты сам же и добавил внутрь блока, где раньше был не ...
- 05.06.2020 00:16:47
- Форум: Free Pascal Compiler
- Тема: free pascal vs Delphi 10.3
- Ответы: 39
- Просмотры: 36716
Re: free pascal vs Delphi 10.3
Ой, окружающий код внезапно стал неправильным, вот незадача.
А разве у нас есть такие седы разработки, где любой специально написанный идиотизм всегда будет правильным?
Возможно, что я излишне старомоден, но я предпочитаю чётко видеть в коде, где и когда будут освобождаться те или иные ресурсы ...
А разве у нас есть такие седы разработки, где любой специально написанный идиотизм всегда будет правильным?
Возможно, что я излишне старомоден, но я предпочитаю чётко видеть в коде, где и когда будут освобождаться те или иные ресурсы ...
- 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 — уже ошибка.
Как говорил наш преподаватель программирования по поводу управлениям ресурсами: "обезьяну очень легко ...
Как говорил наш преподаватель программирования по поводу управлениям ресурсами: "обезьяну очень легко ...
- 06.03.2020 13:52:27
- Форум: Разработки на нашем сайте
- Тема: САПР на Lazarus
- Ответы: 844
- Просмотры: 1432503
Re: САПР на Lazarus
Посмотрел, что по этому поводу пишут в документации по команде spline m
Ты прав, они используют b-spline, причём, судя по описанию формата dxf, у них когда то были регулярные b-сплайны, но сейчас они про это ничего в документации к команде не пишут.
Также я понял, как они делают режим fit. Если у ...
Ты прав, они используют b-spline, причём, судя по описанию формата dxf, у них когда то были регулярные b-сплайны, но сейчас они про это ничего в документации к команде не пишут.
Также я понял, как они делают режим fit. Если у ...
- 05.03.2020 23:11:42
- Форум: Разработки на нашем сайте
- Тема: САПР на Lazarus
- Ответы: 844
- Просмотры: 1432503
Re: САПР на Lazarus
Сижу второй день "курю" всяческую инфу по поводу NURBS. При этом складывается такое ощущение, что все статьи по ним специально написаны таким образом, чтобы было ни хрена не понятно, как из этих формул перейти к конкретным вычислениям для конкретной задачи.
Тем не менее, по ходу изучения я выяснил ...
Тем не менее, по ходу изучения я выяснил ...
- 02.03.2020 15:02:28
- Форум: Разработки на нашем сайте
- Тема: САПР на Lazarus
- Ответы: 844
- Просмотры: 1432503
Re: САПР на Lazarus
Привет, Zub!
В ветке про кривые Безье ты сказал, что в ЗКаде нет кривых Безье, поскольку некогда было разбираться с математикой.
Вот готовые функции вычисления координат точек для кривых Безье 2 и 3 порядка.
interface
type
TDblPoint = packed record
x, y: double;
end;
PDblPoint ...
В ветке про кривые Безье ты сказал, что в ЗКаде нет кривых Безье, поскольку некогда было разбираться с математикой.
Вот готовые функции вычисления координат точек для кривых Безье 2 и 3 порядка.
interface
type
TDblPoint = packed record
x, y: double;
end;
PDblPoint ...
- 02.03.2020 14:50:42
- Форум: Общее
- Тема: Расстояние от точки до кривой Безье(сплайна)
- Ответы: 8
- Просмотры: 25190
Re: Расстояние от точки до кривой Безье(сплайна)
Держите готовые проверенные функции для вычисления точек кривой Безье с заданным количеством шагов для 2 и 3 порядка.
interface
type
TDblPoint = packed record
x, y: double;
end;
PDblPoint = ^TDblPoint;
//расчёт точек для кривой Безье
//если количество точек aStep указано равным 0, либо ...
interface
type
TDblPoint = packed record
x, y: double;
end;
PDblPoint = ^TDblPoint;
//расчёт точек для кривой Безье
//если количество точек aStep указано равным 0, либо ...
- 14.01.2019 23:11:00
- Форум: Lazarus
- Тема: event на невизуальном классе
- Ответы: 21
- Просмотры: 15853
Re: event на невизуальном классе
Если вы не знаете как применить возможности RTTI в своих программах, то это ещё не значит, что это нужно только для дизайнера.
Опять же, вас никто не заставляет писать так, как вам нравится.
Опять же, вас никто не заставляет писать так, как вам нравится.
- 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 ...
То есть, код типа:
type
TMyClass = class
private
FData: integer;
public
property Data: integer read FData write ...
- 14.01.2019 10:29:43
- Форум: Lazarus
- Тема: аналог static в lazarus
- Ответы: 9
- Просмотры: 7534
Re: аналог static в lazarus
Разница между глобальными переменными в pascal и static в функциях C только в области видимости. В остальном это одно и тоже. В обоих случаях компилятор выделяет область памяти в общем пуле программы и инициализирует данную переменную значением на этапе компиляции.
В некоторых случаях способ ...
В некоторых случаях способ ...
