Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавить поле в Датасет / 19 сообщений из 19, страница 1 из 1
06.09.2018, 15:54
    #39699127
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
Свой компонент, наследник DataSet. Редактор полей. По контекстному меню "Add Field..." открывается список полей. Выбираю нужные, нажимаю Ok. Получаю ошибку - DataSet1: Поле Field1 не найдено (на первом из выбранных)
Дорылся я до функции
Код: pascal
1.
function TDSDesigner.DoCreateField(const FieldName: string; Origin: string): TField;


в модуле DSDesign.
Далее тупик, глазами проблем не вижу вроде все верно

Собственно вопрос:
Можно ли как-то понатыкать в этот модуль ShowMessage (и возможно еще в DB) чтоб как-то выводить отладочную информацию в Desing Time. Т.е.понатыкать можно, но придется его перекомпилить, но как? Если вообще возможно
...
Рейтинг: 0 / 0
06.09.2018, 16:03
    #39699134
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
minvaСвой компонент, наследник DataSet.
Проблема в наследнике, а не в среде разработки.
...
Рейтинг: 0 / 0
06.09.2018, 16:32
    #39699166
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
minvaМожно ли как-то понатыкать в этот модуль ShowMessage (и возможно еще в DB) чтоб как-то выводить отладочную информацию в Desing Time. Т.е.понатыкать можно, но придется его перекомпилить, но как? Если вообще возможно1. Запускаете IDE
2. Открываете проект с bpl
3. Устанавливаете Host Application bds.exe
4. Жмете F9 и отлаживаетесь
...
Рейтинг: 0 / 0
06.09.2018, 16:38
    #39699171
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
wadman,
Дык, я понимаю, что в наследнике! Мне интересны какие данные из наследника попадают в среду обработки. В наследнике в InitFieldDefs я ткнул ShowMessage. И вижу, что fieldDefs перед вызовом после нажатия OK в окне выбора полей и перед сообщением об ошибке вполне себе заполнена. Дальше непонятно как отладится
...
Рейтинг: 0 / 0
06.09.2018, 16:39
    #39699172
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
_Vasilisk_,
2. Открываете проект с bpl
этот пункт можно подробнее, какой именно проект?
...
Рейтинг: 0 / 0
06.09.2018, 16:49
    #39699178
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
minvaВ наследнике в InitFieldDefs
Дизайнер не создает поля. Дизайнер "просит" об этом. Помимо FieldDefs необходимо еще и создать само поле.
Посмотри в метод FieldDef-а с названием что-то вроде CreateField.
...
Рейтинг: 0 / 0
06.09.2018, 17:11
    #39699191
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
minva2. Открываете проект с bpl
этот пункт можно подробнее, какой именно проект?Вот этотminvaСвой компонент, наследник DataSet.
...
Рейтинг: 0 / 0
06.09.2018, 22:02
    #39699269
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
minvaСобственно вопрос:
Можно ли как-то понатыкать в этот модуль ShowMessage (и возможно еще в DB) чтоб как-то выводить отладочную информацию в Desing Time.
Нельзя.

А в остальном _Vasilisk_ всё говорит правильно, Host Application - bds.exe и вперёд жмакать F8
...
Рейтинг: 0 / 0
07.09.2018, 03:10
    #39699286
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
DimaBrНельзя.

Но можно OutputDebugString.
...
Рейтинг: 0 / 0
07.09.2018, 08:45
    #39699329
чччД__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
stanilarDimaBrНельзя.

Но можно OutputDebugString.
+1.

Все что угодно, лишь бы отладчик не изучать.
...
Рейтинг: 0 / 0
07.09.2018, 10:39
    #39699406
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
Некоторую инфу можно выводить через брейкпоинты. В опциях break=false, evaluate expression и log result
...
Рейтинг: 0 / 0
07.09.2018, 10:49
    #39699420
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
DimaBr, почти получилось, кроме того что F8 жмакать не выходит и точку остановки не поставить в компоненте, игнорируется она.
Что еще у компонента/пакета надо настроить, чтоб прошагать можно было?
Максимум что получилось добиться, что ошибка "Поле не найдено" теперь в среде вываливается. Стека вызовов нет, а окошком CPU я пользоваться как-то не умею :(
...
Рейтинг: 0 / 0
07.09.2018, 11:01
    #39699430
чччД__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
minva,

отключи оптимизацию в настройках проекта, включи дебажные галки.
...
Рейтинг: 0 / 0
07.09.2018, 11:26
    #39699462
minva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
чччД__,
отключена, галки стояли
...
Рейтинг: 0 / 0
07.09.2018, 21:49
    #39699845
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
чччД__отладчик не изучать

А чего его изучать? Тем более что он и не работает, когда пытаешься отладить в программе пакет из пакета. Ну, может в токио что и изменилось к лучшему, давно не слежу.
...
Рейтинг: 0 / 0
07.09.2018, 23:21
    #39699853
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
stanilarТем более что он и не работает, когда пытаешься отладить в программе пакет из пакета. Ну, может в токио что и изменилось к лучшему, давно не слежу.Серьезно? И как мы свои дизайнтайм пакеты уже 20 лет дебажим?...
...
Рейтинг: 0 / 0
08.09.2018, 01:34
    #39699875
stanilar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
white_niggerИ как мы свои дизайнтайм пакеты уже 20 лет дебажим

ShowMessage?
...
Рейтинг: 0 / 0
08.09.2018, 01:47
    #39699876
чччД__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
stanilarwhite_niggerИ как мы свои дизайнтайм пакеты уже 20 лет дебажим

ShowMessage?
Ладно, используй.
...
Рейтинг: 0 / 0
09.09.2018, 00:16
    #39700014
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить поле в Датасет
чччД__stanilarпропущено...


ShowMessage?
Ладно, используй.Не. Как правило, "пакет из пакета" суть чужой релиз и не содержит отладочной инфы. К нему и надо относиться как к черному ящику.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавить поле в Датасет / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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