Текущий архив: 2006.04.09;
Скачать: CL | DM;
Внизкто-то тупит. или я, или Delphi %-) Найти похожие ветки
← →
Ketmar © (2006-03-19 00:29) [0]ничего не понимаю. если TTable от BDE лежит на DataModule, то отдаёт только инфу о полямх. если на главной форме -- отдаёт всё. я уж очень давно BDE не ел, но, кажись, не должно быть такого косяка?
← →
API © (2006-03-19 00:52) [1]Кхм... это... как бы...
Хотя нет, не буду.
Извините.
P.S. Если не трудно, просвятите, что значат следующие выражения: "тупит", "отдает только инфу о полях", "отдает все", "кушать BDE", "косяк"?
← →
Anatoly Podgoretsky © (2006-03-19 01:39) [2]Ketmar © (19.03.06 00:29)
Сам то как думаешь?
← →
Германн © (2006-03-19 01:47) [3]2 API © (19.03.06 00:52) [1]
> P.S. Если не трудно, просвятите, что значат следующие выражения:
> "тупит", "отдает только инфу о полях", "отдает все", "кушать
> BDE", "косяк"?
Нваерно это значит, что отдаёт ещё и всё, что выросло на полях. Что можно съесть и скурить. :-)
← →
Ketmar © (2006-03-19 03:00) [4]>Anatoly Podgoretsky © (19.03.06 01:39) [2]
а никак. тупо унёс TTable на главную форму. всё равно это курсовая у знакомой. там и без таких весёлостей всё криво. %-) просто интересно, что за ерунда.
>API © (19.03.06 00:52) [1]
"просвятить" не могу -- не священник. а перевести -- переведу:
"тупит" -- делает не то, чего ожидалось.
"отдает только инфу о полях" -- DBGrid показывает заголовки полей, но не показывает содержимое таблицы. а это содержимое есть.
"отдает все" -- и заголовки полей, и содержимое таблицы.
"кушать BDE" -- использовать BDE.
"косяк" -- непонятная ситуация.
← →
Германн © (2006-03-19 03:10) [5]Ну ты же не "новичок"! Должен бы уже понимать, что "17-ая строка - самая главная"!
← →
Ketmar © (2006-03-19 03:27) [6]так вот и удивляюсь, в каком именно гене у меня глюк. %-) ТАК я уже давно не лажался. %-)
мне вообще грустно. нашёл 386-й дизассемблер. исходники -- 9 кб. читал и рыдал. как после ТАКОГО себя программистом считать? конечно, исходники на Форте, но всё равно до этого минимальные, которые я видел, весили 30 кил. я даже не думал, что в 9 реально уместиться. сама форт-система весит 9 кил (.exe). если собрать вместе, то всё равно размер минимальный (эти 9 кил дизасма компиляются, натурально, в меньший по объёму машинный код).
← →
API © (2006-03-19 08:34) [7]DBGrid показывает заголовки полей, но не показывает содержимое таблицы
Вручную созданные Columns, для которых заданы поля с наименованиями, не совпадающими с теми, что в Table.
если TTable от BDE лежит на DataModule, то отдаёт только инфу о полямх. если на главной форме -- отдаёт всё
Пройдитесь поиском по реализации класса TTable.
У меня возникает подозрение, что строк наподобиеif Owner is TDataModule then ...
вы там не найдете.
← →
tesseract © (2006-03-19 11:56) [8]
> ничего не понимаю. если TTable от BDE лежит на DataModule,
> то отдаёт только инфу о полямх. если на главной форме -
> - отдаёт всё. я уж очень давно BDE не ел, но, кажись, не
> должно быть такого косяка?
Не встречал. Наверно плохо просишь. Он как не даёт молча или ругаясь?
← →
Ketmar © (2006-03-19 14:20) [9]>API © (19.03.06 08:34) [7]
ничего, заданного вручную, там нет. можно даже код не давать: там просто DBGrid, который связан с DataSet, который связан с Table, который связан с Database. все параметры у компонентов по-умолчанию (иначе я бы упомянул). кроме связей и имён баз/таблиц, конечно.
а смысл в таких строках? я, видите ли, сам знаю, что ситуация, мягко говоря, из разряда "подземного стука". в принципе, мне не столько интересно, где затык (как я уже писал, обошёл кривым хаком %-), сколько хочется о ней потрепаться. потому и кинул в этот раздел. к тому же все мастера сидят здесь. %-)
просто как раз с базами я практически не дружу. а если дружу, то однозначно не с BDE.
>tesseract © (19.03.06 11:56) [8]
в том-то и дело: никаких исключений или ещё чего. DBGrid явно общается с DataSet (и так далее по модели дома, построенного Джеком %-), ибо в заголовке грида появляются имена полей из таблицы (натурально, транслитом -- ничего же не переименовывалось %-). деактивируешь в рантайме таблицу -- исчезают. активируешь -- появляются. но только имена. а данные не отображаются. проверял все варианты, которые смог придумать. результат одинаковый.
ах, да: драйвер -- STANDARD, база -- PARADOX. но, по-моему, это не столь важно.
← →
kaif © (2006-03-19 14:25) [10]Добавь кнопку на форму (туда, где DBGrid), на OnClick повесь
Table1.Owner := DataModule.
Если после нажатия кнопки исчезнет "все, что там в таблице есть", то тогда у тебя завелись барабашки в компьютере.
:)
← →
API © (2006-03-19 14:43) [11][10] kaif © (19.03.06 14:25)
Table1.Owner := DataModule.
Вот так вот сразу, да? ;)
← →
API © (2006-03-19 14:46) [12]Ketmar ©
Никаких фильтров (Filter, Filtered) и иже с ними не установлено?
← →
Ketmar © (2006-03-19 14:52) [13]>kaif © (19.03.06 14:25) [10]
"масло масляное"? оно и так на DataModule лежит, какой ещё у него овнер может быть? %-) может, как раз, ".Owner := Form1" ? %-) типа, это менее кривой хак, чем то, что сделал я...
>API © (19.03.06 14:46) [12]
нет, конечно. первым делом проверил. говорю же -- всё по дефолту. переносил TTable я так: в clipboard -- и на другое место. т.е. все свойства при этом сохраняются. заработало. мистика-с.
← →
tesseract © (2006-03-19 14:52) [14]Попробуй ещё раз присвоить DataSet у DBgrid.
Поля в DBGRID будут отображаться, даже если TTable неактивен, но имет описание полей.
те производится впечатление, что Grid считает DataSet неактивным. И не выводит инфу.
← →
kaif © (2006-03-19 15:09) [15]Я все же думаю, что дело обстоит следующим образом.
Имеется DBGrid с persistent колонками
Если TTable вообще удалить, то колонки, соответственно, останутся, а то, что ты называешь "всем остальным", исчезнет.
А DataModule просто не указан в uses модуля формы.
Указатель DBGrid.DataSource стал равен, соотвественно, nil в момент "переноса" TTable в DataModule.
Поппробуй выяснить, а "все остальное" (в смысле набор данных) присутствует? Таблица активна?
Можешь в обработчик "кнопки на форме" вставить такой код:
ShowMessage(DataModule.Table1.Fields[0].AsString);
1.Если не будет компилироваться, значит не виден модуь в uses.
2.Если руганется в рантайме при нажатии кнопки "DataSet is not active", значит, таблица не активна.
2.Если выведет пустоту, значит, таблица подключена к другой базе данных, чем ты думаешь. К той базе данных, в которой эта таблица вообще пустая.
← →
Reindeer Moss Eater © (2006-03-19 15:13) [16]>мистика-с.
Оптический обман.
← →
kaif © (2006-03-19 15:17) [17]Проверь все, то касается видимости модулей (секция uses). Может быть у тебя много лишних доступных путей, куча одноименных папок в разных директориях. И не та версия DataModule видна через uses.
Лучше всего попробовать сделать отладочный вывод, о котором я написал.
Если, конечно, дело в невнимательности, а не в чем-то другом.
← →
Kerk © (2006-03-19 15:19) [18]kaif © (19.03.06 15:09) [15]
2.Если выведет пустоту, значит, таблица подключена к другой базе данных, чем ты думаешь. К той базе данных, в которой эта таблица вообще пустая.
Я бы не стал с таким выводом торопиться в этом случае. Недавно сам такую пустоту наблюдал из-за того, что Size полей был нулевым. Мало ли там чего может еще влиять.
← →
Reindeer Moss Eater © (2006-03-19 15:26) [19]Либо это гримасы копи-пасте и сломанный dfm, либо просто у датасорса грида не тот датасет.
Ясно одно - к BDE это не имеет отношения. Нет у него таких закидонов.
← →
kaif © (2006-03-19 15:28) [20]2 Kerk © (19.03.06 15:19) [18]
Самые "трудноуловимые" ошибки, с которыми я сталкивался в своей практике работы с базами состояли как правило именно в созданном мною же самим "дубликате базы", о котором я просто совершенно забывал или в дубликате модуля. Редактируешь один модуль, а работает - другой. Названия одинаковые. Пути разные. Один подключен к проекту - другой нет. Что не делаешь - ничего не помогает. Отладочные выводы не работают. Можно офонареть, если не допускаешь мысль о дубликате. Причем иногда даже пошаговый отладчик Delphi может начать начать "ходить" по строкам иного файла только потому что тот имеет то же название модуля и открыт в среде дизайна.
← →
Ketmar © (2006-03-19 22:31) [21]>tesseract © (19.03.06 14:52) [14]
пробовал.
>kaif © (19.03.06 15:09) [15]
не дурак. всё делал. видимость модудей (uses) в порядке.
2all:
не дурак. что можно было выдумать -- проверял. всё-таки не пионэр. %-) в том-то всё и дело: ДОЛЖНО работать. но не работает, даже если из проекта выдрать просто датамодуль. ещё раз подчёркиваю: НЕ ПИОНЭР. ПРОВЕРЯЛ ВСЁ. %-)
да ладно, ерунда. хак работает -- и ладно. просто была надежда, что кто-то наблюдал то же самое и с ходу может сказать. а сложные решения я и сам могу выдумать.
2модератор: закрой, нафиг, эту тему. а то тут можно до пятого пришествия беседовать -- и без толку. кидать исходники объёмом в 10 мб (в архиве) я смысла не вижу (и инет не резиновый). выкоцать минимал займёт больше времени, чем надо для отладки всего проекта (уж так криво написано %-( ).
Страницы: 1 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.014 c