Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Датасет какой?

Что мешает удалить из него данные в проекте?


Наверх

Титульная страница Поиск, карта сайта Написать письмо