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

Юрий
08.01.2024 13:25:00
Форум: Free Pascal Compiler
Тема: Проблема освобождения объекта "под интерфейсом" в FPC
Ответы: 10
Просмотры: 12833

Re: Проблема освобождения объекта "под интерфейсом" в FPC

Попробуйте убрать virtual вот тут

function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): Longint; virtual; stdcall;
function _AddRef: Integer; virtual; stdcall;
function _Release: Integer; virtual; stdcall;

Должно помочь. Но я не знаю, как вызов ...
Юрий
08.01.2024 00:22:07
Форум: Free Pascal Compiler
Тема: Проблема освобождения объекта "под интерфейсом" в FPC
Ответы: 10
Просмотры: 12833

Re: Проблема освобождения объекта "под интерфейсом" в FPC

Господа, приветствую! С праздниками вас.
Господа, спасибо за ответы.

Добавлено спустя 1 минуту 44 секунды:
В ReleaseTable должно быть

Код: Выделить всё
Table := nil;

Вы абсолютно правы, в оригинальном коде это есть…
Но так как я хотел минимальным кодом поймать суть ошибки, для тестового ...
Юрий
06.01.2024 10:40:58
Форум: Free Pascal Compiler
Тема: Проблема освобождения объекта "под интерфейсом" в FPC
Ответы: 10
Просмотры: 12833

Проблема освобождения объекта "под интерфейсом" в FPC

Добрый день, всем

Господа, можете подсказать, почему код ниже в Lazarus выдаёт ошибку а в Delphi (любой версии) нет ?

Вызов uTest3.Test ;
В FPC на строке T.Free; будет Access violation (а точнее не сразу а после выхода из функции)
Соответственно если закоментить то всё работает но утечка ...
Юрий
19.12.2022 07:02:52
Форум: Free Pascal Compiler
Тема: TList проблема создания
Ответы: 26
Просмотры: 20732

Re: TList проблема создания

Хм ... Возможно вы правы, но как-то это странно (я такого "присвоения типа" еще нигде не видел ) .
А почему по "логике паскаля" нельзя присвоить переменной тип ? Потому что операция "присвоить" подразумевает передачу данных, а что собственно передается в случае "присвоения типа" ?
CreateControl ...
Юрий
18.12.2022 09:53:23
Форум: Free Pascal Compiler
Тема: TList проблема создания
Ответы: 26
Просмотры: 20732

Re: TList проблема создания

Я не понимаю степень вашей удивлённости.
Ну это как бы базовые вещи языка..., можно сказать "типизированный указатель", вдруг если что, ещё можно в переменные функции и методы пихать...
как-то так...
Ну и где вы там видели конструкцию "theClass := TList;" ?
type TClass = class of TObject;
var ...
Юрий
18.12.2022 04:40:20
Форум: Free Pascal Compiler
Тема: TList проблема создания
Ответы: 26
Просмотры: 20732

Re: TList проблема создания

theClass := TList;
:shock:
Присвоить экземпляру тип ? Это вообще как ????


Я не понимаю степень вашей удивлённости.
Ну это как бы базовые вещи языка..., можно сказать "типизированный указатель", вдруг если что, ещё можно в переменные функции и методы пихать...
как-то так...

Вот вам ссылочка на ...
Юрий
17.12.2022 01:18:59
Форум: Free Pascal Compiler
Тема: TList проблема создания
Ответы: 26
Просмотры: 20732

Re: TList проблема создания

Господа, можете подсказать, почему код ниже в Lazarus выдаёт ошибку а в Delphi нет ?
Потому что Lazarus приличная IDE, а Delphi - нет. Delphi любит чтобы пользователь побольше мучался.

Имхо подобные штуки могут работать только если конструктор базового класса виртуальный.
Ого. Я утром читал ...
Юрий
16.12.2022 16:43:46
Форум: Free Pascal Compiler
Тема: TList проблема создания
Ответы: 26
Просмотры: 20732

Re: TList проблема создания

Если бы он небыл бы определён, то тогда бы проект не скомпилился...

в Lazarus :

objpash.inc
...
type
TextFile = Text;

{ now the let's declare the base classes for the class object
model. The compiler expects TObject and IUnknown to be defined
first as forward classes }
TObject = class ...
Юрий
16.12.2022 11:08:57
Форум: Free Pascal Compiler
Тема: TList проблема создания
Ответы: 26
Просмотры: 20732

TList проблема создания

Добрый день, всем

Господа, можете подсказать, почему код ниже в Lazarus выдаёт ошибку а в Delphi нет ?


procedure AAA;
var
theClass: TClass;
L: TList;
begin
theClass := TList;
L := TList(theClass.Create); // L := TList.Create;
ShowMessage(L.ClassName);
if L.Count = 0 then // <-- Access ...
Юрий
04.04.2022 00:11:39
Форум: Free Pascal Compiler
Тема: property System и abstract-ый Класс
Ответы: 8
Просмотры: 7663

Re: property System и abstract-ый Класс

Кроме как писать &system - перешерстить код

&System - не помогает, не компилится

Добавлено спустя 7 минут 24 секунды:
Юрий оформи багрепорт

Попоробую сделать
Я правильно думаю что это здесь
m
?

Нашел там связаный баг (Как мне кажется...)
https&#58;//gitlab&#46;com/freepascal&#46;org/fpc ...
Юрий
03.04.2022 03:06:56
Форум: Free Pascal Compiler
Тема: property System и abstract-ый Класс
Ответы: 8
Просмотры: 7663

property System и abstract-ый Класс

Добрый день всем

Портирую относительно большой проект с Delphi2007
Наткнулся в двух местах на "неприятность" с названием проперти "System"

В коде ниже, всё валидно, но вылетает
Error: Illegal qualifier
либо
Error: identifier idents no member “AbstractError”.
и без указания модуля и строки ...