![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DataSet и exeшник
Вова © (2012-10-23 20:04:00)Вообщем имеется у меня несколько дата сетов. И понадобилось мне сделать так, чтобы они сохранялись в папку с экзешником, чтобы путь не указывать жестко. В связи с чем, я на событие AfterPost повесил сохранение таблицы в файл. И при этом убрал путь к файлу (не динамический) из свойства FileName дата сета. Не знаю плохо ли это или хорошо, но как туда динамический путь засунуть непонятно, и также не понятно - а зачем?
Вот. При создании формы я вызываю загрузку датасетов из файлов в которых они хранятся. И вот тут наинаются мои вопросы:
После выполнения загрузки, со всей очевидностью можно утвержать, что в таблице появляются данные из файла. НО! ни на один байт процесс в памяти при этом не увеличивается(если база в ехе шнике и в файле идентичны). У меня возникло предположение, что эти дата сеты итак уже храняться в екзешнике, особенно на эти мысли наводит и то, что если скопировать екзешник в другое место без базы, данные в нем все равно будут. И вот случилась беда, в процессе выполнения, каким то образом екзешник увеличился раза в 2 (ну вообщем то как раз примерно на объем базы данных из файлов). И после завершения программы и нового старта, картина повторяется. Хотя на диске екзешник в 2 раза меньше. А если запускать другой экземпляр (в котором такого глюка с удвоением в памяти не случалось) - то он в 2 раза меньше и на диске и в памяти, т.е. он не увеличивается.
К тому же иногда, но почему то совсем не всегда, всплывает ошибка, что в датасете нет такого то поля. Как так непонятно, тем более что если запускать через отладчик такой ошибки нет, а на другом компьютере есть, но лишь иногда. Также через отладчик не возникает непоняток с памятью, хоть в исполняемом файле все равно есть данные...
Так вот вопрос - правильно ли я понимаю, что дата сет хранится еще и в екзешнике (т.е. его данные)? и как его оттуда вытурить? т.к. если он будет переодически удваиваться в размерах - то меня это не устраивает ) тем более что перед началом работы, я итак его загружаю из файла.
MsGuns (2012-10-25 11:10:00) [1]- У Вас проблемы с проектом, в котором творится то, чего "не должно быть" ?
- Вы не имеете понятия как искать ошибку ?
- Вы не представляете как искать в инете по контекстному содержанию ?
- У Вас нет ни времени, ни желания читать "умные" книжки или хотя бы встроенный хэлп по тем компонентам, которые используете ?
- Вы не знаете или не умеете пользоваться отладчиком ?
У вас есть алтернатива:
- Если Вы программист, бросайте это дело,- на свете есть масса других не менее интересных профессий.
- Если Вы не программист, но Вам "надо", ищите по кл. слову "фриланс" и наймите за деньги того, кто Вам быстро поможет исправить ошибку или даже переделать проект "с листа".
ЗЫ. А хамить не надо ! Нам хамов здесь не надо,- мы сами хамы :)
Dmitriy (2012-10-24 16:36:00) [2]
> И перед этим самым делом, программа несколько часов трудилась
> трудилась, не изменяясь особо в размерах и вдруг превратилась
> в тыкву. Есть идеи что это за фигня?
Наводящие вопросы наверное по типу:
>И перед этим самым делом,
Перед каким делом?
> и вдруг
а что произошло перед "вдруг"?
> да вы совершенно правы, в следующий раз вставлю сюда 8 тысяч
> строк кода, т.к. оставалось только догадываться что случилось
А! Вам наверное нужно чтобы вместо вас искали ваши баги? Да?
По невнятному описанию?
задавая вышеприведенные наводящие вопросы?
дык насыпьте монеток в монетоприемник
(2012-10-24 16:28:00) [3]Удалено модератором
Вова (2012-10-24 15:58:00) [4]
> Ва все верно сказали - Вы излагаете так, как будто тут
> на форуме Ваши руководители курсовым (или что там у Вас).
>
> Но здесь "сидят" люди совершенно не в курсе Ваших изысков,
> которые могут лишь догадываться от том, что происходит
> в Вашем проекте.
> Ибо в Вашем сабже все смешалось в кучу-какие-то "датасеты",
> файлы, процессы, память и т.д.
> Можно лишь догадываться , что вы используете TClientDataSet,
> но при этом неизвестно как Вы его инициализируете и откуда
> делаете LoadFromFile.
>
> С таким отношением Вам вряд ли кто захочет помогать
да вы совершенно правы, в следующий раз вставлю сюда 8 тысяч строк кода, т.к. оставалось только догадываться что случилось. И прошу поумерить ваш батхерт относительно студентов и их руководителей ибо никакого отношения ни к первому ни ко второму не имею. Сформулировал как мог, итак очень длинно получилось, можно и задать наводящие вопросы, если вы этого не умеете, то нече пенять на других.
с таким отношением врядли кто то захочет у вас что то спрашивать.
MsGuns (2012-10-24 15:48:00) [5]Ва все верно сказали - Вы излагаете так, как будто тут на форуме Ваши руководители курсовым (или что там у Вас).
Но здесь "сидят" люди совершенно не в курсе Ваших изысков, которые могут лишь догадываться от том, что происходит в Вашем проекте.
Ибо в Вашем сабже все смешалось в кучу-какие-то "датасеты", файлы, процессы, память и т.д.
Можно лишь догадываться , что вы используете TClientDataSet, но при этом неизвестно как Вы его инициализируете и откуда делаете LoadFromFile.
С таким отношением Вам вряд ли кто захочет помогать
Вова (2012-10-24 15:38:00) [6]
> Научись технически грамотно излагать суть дела и вопрос.
>
>
> Если программа трудится вместо программиста и превращается
> в тыкву - вопрос: "Какой овощ вместо головы у программиста?
> "
самоутвердился? ) молодец. Вел бы ты себя хорошо, нанял бы тебя в качестве программиста. Но т.к. ты плохо себя вел, буду сам скрипеть (
нашел баг, как йа уже устал их находить......
Jeer (2012-10-24 15:36:00) [7]Научись технически грамотно излагать суть дела и вопрос.
Если программа трудится вместо программиста и превращается в тыкву - вопрос: "Какой овощ вместо головы у программиста?"
Вова (2012-10-24 15:09:00) [8]вообщем ужас вернулся. очистил я в режиме разработки все датасеты. И стал екзешник занимать 2 мб. А база данных 18 мб. И при создании формы, стоит команда DataSet.LoadFromFile(файл базы данных); т.е. 1 раз создание формы вроде как и 1 раз стоит загрузка. И вот нажимаю я старт, а форма не появляется, вместо этого неограничего растет размер процесса в памяти. И перед этим самым делом, программа несколько часов трудилась трудилась, не изменяясь особо в размерах и вдруг превратилась в тыкву. Есть идеи что это за фигня?
Jeer (2012-10-23 22:46:00) [9]Народ тут просто щастлив от тебя - срочно записывайся на раздачу орденов.
Вова (2012-10-23 22:01:00) [10]лучше бы ты так рассказывал как слушаешь
Ну раньше мешало удалить из проекта то, что я его туда не записывал, оно само там появлялось ) Ну то есть в конфигуратор. Но после того как я FileName очистил, больше не появляется. Сделал ClearData прям в таблице, вроде как больше ничего больше нет. бум щитать разобрался.
Jeer (2012-10-23 21:31:00) [11]Начались сказки дедушки Пири - послушаем-с, для начала.
Дмитрий С (2012-10-23 21:08:00) [12]Датасет какой?
Что мешает удалить из него данные в проекте?