powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка "this type cannot consist in table"
25 сообщений из 50, страница 1 из 2
Ошибка "this type cannot consist in table"
    #39792502
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем гуру.

Сегодня не пойму что произошло и начал сбоить код, который стабильно работал.

Итак, студия Embarcadero 10.1 Berlin, ODAC 10.3.9. Есть модуль, который отвечает за обращение к БД через TOraStoredProc.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
unit PkMop;

interface

uses Classes, SysUtils, Ora, OraPackage, System.Variants, OraUtils,
  System.Generics.Collections, Data.DB, OraClasses, JclSysUtils;

TPkMop = class(TCustomOraPackage)
  private
    FSession: TOraSession;
    procedure GetStoreProc;
    function GetSession: TOraSession;
    procedure SetSession(AValue: TOraSession);
    procedure SetParam(AParamName: string; AList: TList<Integer>); overload;
    procedure SetParam(AParamName: string; AList: TList<string>); overload;
    procedure SetParam(AParamName: string; AList: TList<Double>); overload;
    procedure SetParam(AParamName: string; AList: TList<Variant>); overload;
    procedure GetParam(AParamName: string; AList: TList<Integer>); overload;
    procedure GetParam(AParamName: string; AList: TList<string>); overload;
    procedure GetParam(AParamName: string; AList: TList<Double>); overload;
  protected
    StoredProc: TOraStoredProc;
  published
    property Name;
    property Session: TOraSession read GetSession write SetSession;
  public
    //тут сами вызовы 
  end;

implementation

constructor TPkMop.Create(AOwner: TComponent);
begin
  inherited;
  StoredProc := TOraStoredProc.Create(nil);
end;

procedure TPkMop.GetStoreProc;
begin
  StoredProc.Session := Session;
  StoredProc.StoredProcName := '';//ошибка вылетает тут
  StoredProc.Prepared;
end;



GetStoreProc - инициализация компонента, несколько обращений к ней проходит нормально, но потом бьет ошибку. При повторном вызове вылетает AV.

В чем может быть проблема? Заранее благодарю за конструктивный ответ
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792511
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отладчик используй.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792515
Фотография devart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуйста уточните, в качестве StoredProcName Вы указываете именно значение '', либо-же имя какой-то определенной хранимой процедуры ? Во втором случае, можете ли Вы предоставить DDL-скрипт для ее создания
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792535
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
devartПожалуйста уточните, в качестве StoredProcName Вы указываете именно значение '', либо-же имя какой-то определенной хранимой процедуры ? Во втором случае, можете ли Вы предоставить DDL-скрипт для ее создания

Вылетает исключительно на пустом значении. Причем один раз отрабатывает правильно, второй раз уже бьет ошибку.
Убирал процедуру инициализации TOraStoredProc, било и на существующем имени процедуры. Но опять начиная со второго раза.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792539
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxpc,

используя отладчик я нашел место где оно вылетает. Код для чего я приложил?
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792542
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрий,

он имел ввиду внутри сеттера StoredProcName
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792552
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochЛеонов Юрий,

он имел ввиду внутри сеттера StoredProcName
у меня нет исходников, чтобы внутри лазить. К тому же до сегодняшнего дня все работало отлично. Проверил все изменения - никто в данном разделе ничего не правил. Остается только гадать, откуда вылезла эта ошибка.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792569
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне почему то кажется, что память потекла где - то. Такое часто бывает, когда она течёт. К примеру кто то двинул указатель строки, и не вернул на место. И вот, такие трюки идут по одному месту

Так что, может быть виноват любой код. И искать такие ошибки можно пару месяцев
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792680
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вангую освобождение (Free) объекта
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792732
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747Вангую освобождение (Free) объекта
Объект создается вызовом извне (конструктором Create) и удаляется тоже извне (вызовом Destroy). Пока живет форма, до тех пор живет и этот компонент. Код не менялся, просто резко начали сыпаться ошибки
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39792844
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрийнесколько обращений к ней проходит нормально, но потом бьет ошибку

какую???

Леонов Юрий. К тому же до сегодняшнего дня все работало отлично.

но сейчас не работает

ищи либо место, где ошибка проявляется (если раньше не проявлялась, не значить что ее не было, возможно просто не проявлялась)

либо то изменение в твоей программе или БД, которое помогло ошибке проявиться
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793138
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochЛеонов Юрийнесколько обращений к ней проходит нормально, но потом бьет ошибку

какую???

Внимательно читаем заголовок темы

AriochЛеонов Юрий. К тому же до сегодняшнего дня все работало отлично.

но сейчас не работает

ищи либо место, где ошибка проявляется (если раньше не проявлялась, не значить что ее не было, возможно просто не проявлялась)

либо то изменение в твоей программе или БД, которое помогло ошибке проявиться

Она проявляется в разных местах, но всегда на строке типа
Код: pascal
1.
StoredProc.StoredProcName := 'имя процедуры';


Причем имя может быть как пустой строкой, так и реальным из БД
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793145
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийПри повторном вызове вылетает AV.

конкретнее
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793152
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Леонов Юрий,

если что, он просит полный стэк, в левом верхнем углу. Со всеми подробностями
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793155
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такие ошибки очень сложно ищаться. Если это утечка памяти. А тс ничего не хочет приводить в пример кода, кроме того участка, где проявляется диагноз
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793205
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрий...
Код: pascal
1.
2.
3.
...
  StoredProc.StoredProcName := '';//ошибка вылетает тут
...


...


Ошибка
Леонов Юрий"this type cannot consist in table"

Солнышко, такая ошибка в указанном месте "вылетать" не может.
Придется тебе рыть внутри сеттера свойства StoredProcName и, возможно, еще глубже.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793238
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ёёёёё,

мне кажется разрабы Ora хорошо отладили свой код. Так что вряд ли к ним есть притенения
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793239
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К тому же есть глянуть , это обычный
Код: pascal
1.
property StoredProcName: string;
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793243
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxpcёёёёё,

мне кажется разрабы Ora хорошо отладили свой код. Так что вряд ли к ним есть притенения
Ну вот они тебе нормальное сообщение и выдали, а не какой-нибудь "AV".


Foxpc К тому же есть глянуть , это обычный
Код: pascal
1.
property StoredProcName: string;


Ой, неграмотный какой.

Ну ты попробуй в своем коде тоже так проперь задекларировать, без указания имплементации.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793266
Foxpc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ёёёёё,

Ясно. Дурачoк какой то ты. ТС говорил что у него ошибка, при присвоение любого текста к обычному свойству, созданного объекта

Так что, не надо тут умничать как будто ты всё знаешь.

Моя позиция - утечка памяти, в где то в проекте. Строки могут совершенно никак между собою связаны. Просто менеджер памяти испорчен.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793418
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxpcТакие ошибки очень сложно ищаться. Если это утечка памяти. А тс ничего не хочет приводить в пример кода, кроме того участка, где проявляется диагноз

Кода дохрена, весь проект приводить смысла не вижу.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793420
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёёСолнышко, такая ошибка в указанном месте "вылетать" не может.
Придется тебе рыть внутри сеттера свойства StoredProcName и, возможно, еще глубже.

Солнышко??? Я похож на блондинку? То есть вы считаете, что я выдумал проблему?
Повторяюсь, исходников у меня нет, рыть в глубь, соответственно, тоже не могу
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793440
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поискал исходники, нашел правда не совсем свежие.
Данная ошибка может вылетать только на инициализации процедурных переменных.
Но присвоение пустой строки не должно вызывать эту инициализацию...
В чем глюк - не пойму. Может прав "Foxpc" и тут проблемы не касаются напрямую компонента...
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793461
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрий,

Сделай поиск по всему проекту с вызовом Free или Destroy.
...
Рейтинг: 0 / 0
Ошибка "this type cannot consist in table"
    #39793514
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747Сделай поиск по всему проекту с вызовом Free или Destroy.

....а там окажется освобождение через ARC или TComponent.Owner или ещё как

вообще, ты что найти пытаешься, use after free?

для этого проще FreeMem перекрыть, чтобы всю свежеотпущенную память забивала каким-нибудь $DeadBeef
и смотреть где в разнос пойдёт.

Кстати в Windows LAllocMem/LFreeMem таки память затирают на освобождении (они на скорость не претендуют, так что могут себе позволить). Когда я писал "рекордный" плагин - DLL размером 2KB - то именно так нашёл баг в хостовом приложении, при исключении из Delphi 5 RTL "стандартного" heap manager всё начинало сыпаться.
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка "this type cannot consist in table"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]