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

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

Итак, студия 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
27.03.2019, 18:15
    #39792511
Foxpc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "this type cannot consist in table"
Отладчик используй.
...
Рейтинг: 0 / 0
27.03.2019, 18:21
    #39792515
devart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "this type cannot consist in table"
Пожалуйста уточните, в качестве StoredProcName Вы указываете именно значение '', либо-же имя какой-то определенной хранимой процедуры ? Во втором случае, можете ли Вы предоставить DDL-скрипт для ее создания
...
Рейтинг: 0 / 0
27.03.2019, 19:00
    #39792535
Леонов Юрий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка "this type cannot consist in table"
devartПожалуйста уточните, в качестве StoredProcName Вы указываете именно значение '', либо-же имя какой-то определенной хранимой процедуры ? Во втором случае, можете ли Вы предоставить DDL-скрипт для ее создания

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

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

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

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

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

какую???

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

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

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

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

какую???

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

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

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

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

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

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


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

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

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


...


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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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


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