Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

кто-то тупит. или я, или 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.014 c
10-1116407057
Uli
2005-05-18 13:04
2006.04.09
Удалить все закладки


2-1143110400
DelphiLexx
2006-03-23 13:40
2006.04.09
Перевести коодинаты курсора в координаты каретки


4-1137749947
not_dev
2006-01-20 12:39
2006.04.09
Контроль компонентов


11-1124346950
ImPuls$$
2005-08-18 10:35
2006.04.09
Шрифты в owner-drawn ListBox


2-1143275526
Alex7
2006-03-25 11:32
2006.04.09
????????????





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский