Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 402
от 24.10.2004, 16:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1880
Отправлено ответов: 4245
Активность: 225.7 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

sir henry
Статус: Профессиональный
Общий рейтинг: 163.41
[Подробней >>]
CJ
Статус: Профессиональный
Общий рейтинг: 118.14
URL: Персональный сайт Каратецкого Кирилла.
Телефон: +375297353706
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1868. У меня есть устройство на шине ISA. Есть MS DDK. С чего начать при написании драйвера.... (ответов: 1)
Вопрос № 1869. Доброе время суток! Вопрос в следующем есть 2 базы работают под Фокс 2.6 в сети списываю себе их на ... (ответов: 1)
Вопрос № 1870. Уважаемые эксперты, прошу помощи. Проблема: при запуске программа занимает ок. 9-10 м в ОЗУ (по данн... (ответов: 1)
Вопрос № 1871. Доброе время суток! Вопрос в следующем есть 2 базы работают под Фокс 2.6 в сети списываю себе их на ... (ответов: 1)
Вопрос № 1872. Благодарю за быстрый ответ, sir Henry, но не совсем понятен один совет: "После работы с запросо... (ответов: 1)
Вопрос № 1873. Здравствуйте уважаймые эксперты! Подскажите пожалуйста, как можно следить за буфером обмена на Delph... (ответов: 2)
Вопрос № 1874. Здравствуйте! Добавление к ранее заданному вопросу! Подскажите пожалуйста, как мне следить за буферо... (ответов: 1)
Вопрос № 1875. Здравствуйте, уважаемые эксперты. Подскажите пожалуйста каким образом с помощью Delphi, прграммно мо... (ответов: 1)

Вопросов: 8, ответов: 9


 Вопрос № 1868

У меня есть устройство на шине ISA. Есть MS DDK.
С чего начать при написании драйвера.



Вопрос отправлен: 19.10.2004, 22:10
Отправитель: falcon (flayernik@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Приветствую Вас, falcon!
С чтения MS DDK, как ни странно :).

Ответ отправлен: 20.10.2004, 06:55
Отправитель: sir henry


 Вопрос № 1869

Доброе время суток!
Вопрос в следующем есть 2 базы работают под Фокс 2.6 в сети
списываю себе их на машину и пытаюсь открыть как таблицы в Датабейс Десктопе он их неоткрывает говорит ошибка драйвера



Вопрос отправлен: 20.10.2004, 08:05
Отправитель: Older

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Добрый день, Older!
Возможно так оно и есть. Я, не отходя от кассы, открыл в "Датабейс Десктопе" таблицы, сделаные в FPD 2.6 (File->Open->Table...). Открылось без всяких возражений со стороны "Датабейс Десктоп". Попробуйте переустановить DD или скачать и поставить новый MDAC с сайта Микрософт.

Ответ отправлен: 20.10.2004, 08:55
Отправитель: sir henry


 Вопрос № 1870

Уважаемые эксперты, прошу помощи. Проблема: при запуске программа занимает ок. 9-10 м в ОЗУ (по данным TaskManager'a), что терпимо (хотя и не есть хорошо). Но. По мере работы с программой объем использования памяти растет и растет... и причем на слабоватых машинах юзеров (средняя конфигурация - 64 Мб ОЗУ, Селерон 700, форточки 98) - "тормоза" очень приличные, настолько, что они вынуждены часто перезагружаться, чуть ли не через каждые полчаса (просто закрыть и перезапустить программу - не помогает). Программа работает с БД MS SQL Server через ADO-компоненты, один TADOConnection и к нему десятка два TADOStoredProc. После каждого получения выборки из БД использование памяти чуть-чуть увеличивается, вообще после каждого обращения к БД - причем после закрытия процедур не уменьшается. В программе есть формирование текстового файла, который для предварительного просмотра выводится в TRichEdit (TMemo не хватает, под 98 Виндой TMemo боль ше 64 Кб текста не принимает). Так вот, при выводе текста в RichEdit объем памяти увеличивается тоже - и при последующем очищении поля тоже уже не уменьшается. Файл отсылается через Outlook Express с использованием Simple MAPI - MapiSendMail. MAPI.dll перед отправкой файла загружается с помощью LoadLibrary, после освобождается - FreeLibrary. Но опять же объем памяти при посылке письма сильно увеличивается - и при выгрузке библиотеки уменьшается, но уже не настолько. Увеличивают объем использования памяти стандартные диалоги открытия-сохранения (PromptForFileName), и опять же - после закрытия диалога размер программы в памяти не уменьшается! В программе одна основная форма (не считая пары настроечных, которые пользователь открывает редко). Основу составляет PageControl с несколькими TabControl'ами. Динамически создаваемых объектов, принадлежащих форме, нет; все компоненты на форму брошены тоже в дизайн-тайме. Куда может "утекать" память? MemProof не помог - не пол учается ничего особенного обнаружить там, а может, я просто не знаю, где искать, MemProof мной специально только вчера скачан. Прошу совета, я уже в отчаянии...
Спасибо.


Приложение:


Вопрос отправлен: 20.10.2004, 08:59
Отправитель: L_Dorrit

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Здравствуйте, L_Dorrit!
Отследите каждую динамическую переменную - уничтожается ли она после того как отработает и станет ненужна.Оптимизируйте запросы, чтобы получать толко те данные, которые необходимы. После работы с запросом отследите, не остался ли он в памяти лишним балластом. Попробуйте в каждую еденицу времени работать только с одной выборкой, а потом ее сразу же закрывать. Попробуйте создавать необходимые элементы программы в RunTime и после использования сразу же уничтожать.
Конкретных рекоммендаций, к сожалению, дать не могу, потому что не знаю, как конкретно сделана Ваша программа.

Ответ отправлен: 20.10.2004, 09:43
Отправитель: sir henry


 Вопрос № 1871

Доброе время суток!
Вопрос в следующем есть 2 базы работают под Фокс 2.6 в сети
списываю себе их на машину и пытаюсь открыть как таблицы в Датабейс Десктопе он их неоткрывает говорит ошибка 8715
Could not finde language driver в ВДЕ админе все дравера стоят проверенно покрайней мере для FoxPro



Вопрос отправлен: 20.10.2004, 09:10
Отправитель: Older

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Добрый день, Older!
Переустановите заново BDE, это явно его проблемы.

Ответ отправлен: 20.10.2004, 09:46
Отправитель: sir henry


 Вопрос № 1872

Благодарю за быстрый ответ, sir Henry, но не совсем понятен один совет: "После работы с запросом отследите, не остался ли он в памяти лишним балластом". Как это можно проверить? А если окажется, что остается - что с ним делать, как освободить память? "Попробуйте создавать необходимые элементы программы в RunTime и после использования сразу же уничтожать" - что, ВСЕ необходимые элементы? Контролы, хранимые процедуры и прочее? У меня был опыт создавания контролов на форме в рантайме. При этом места меньше в памяти программа не занимала... А создавать их все - не такая уж быстрая процедура...



Вопрос отправлен: 20.10.2004, 11:52
Отправитель: L_Dorrit (flying_feather@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Доброе время суток, L_Dorrit!
1. Если я правильно понял Ваш вопрос, вы делаете выборку с целью получения какого-то набора данных? После выполнения запроса, он выдает Вам этот набор данных, состоящий из выбраных Вами полей и строк, соответствующих условию запроса. Все это дело помещается в память. И естественно, в зависимости от условий запроса, строк может быть очень много. Соответственно много будет занято под него и памяти. Когда Вы поработали с этим наборо данных и он Вам больше не нужен, закройте его: TADOQuery.Close.
2. Насколько я понял, у Вас двадцать компонент для встроенных процедур и Вы их все сразу создали во время разработки. Вы пользуетесь всеми сразу? Или последовательно? Если последовательно, то можно обойтись всего одним компонентом TADOStoredProc, последовательно присваивая ему имя процедур, которые у Вас хранятся внутри SQL сервера:
TADOStoredProc1.StoredProcName:='DeleteRecord';
{Процедура делает то, что нужно. Любуетесь результатом}
TADOStoredProc1.StoredProcName:='AddRecord';
{Процедура делает то, что нужно. Любуетесь результатом}
TADOStoredProc1.StoredProcName:='CreateCursor';
{Процедура делает то, что нужно. Любуетесь результатом}
(названия взяты чисто условно).
Если уж крайне необходимо наличие нескольких компонент, то не думаю, чтобы они нужны были все в одно время. Поэтому можно создавать их по мере необходимости.

Ответ отправлен: 21.10.2004, 10:24
Отправитель: sir henry


 Вопрос № 1873

Здравствуйте уважаймые эксперты!
Подскажите пожалуйста, как можно следить за буфером обмена на Delphi и при появлении в нём текста отправлять этот текст в Memo (RichEdit), но чтобы старый текст, находящийся там оставался?
Заранее благодарен!



Вопрос отправлен: 20.10.2004, 13:22
Отправитель: Андрей

[Следующий вопрос >>] [Список вопросов]

Отвечает CJ

Приветствую Вас, Андрей!
richedit1.Lines.Append('Текст и буфера...');

Ответ отправлен: 22.10.2004, 15:38
Отправитель: CJ


Отвечает sir henry

Здравствуйте, Андрей!
Можно периодически проверять, не содержит ли Клипборд данных в нужном Вам формате:
If TClipboard.HasFormat(CF_TEXT) Then
Begin
TMemo.Lines.Add(TClipboard.AsText);
TClipboard.Clear;
End;

Ответ отправлен: 21.10.2004, 10:31
Отправитель: sir henry


 Вопрос № 1874

Здравствуйте!
Добавление к ранее заданному вопросу!
Подскажите пожалуйста, как мне следить за буфером обмена, когда форма неактивна и добовлять содержимое (текст) в Memo?, т.е. пользователь добавил 1-е слово-в Memo оно отобразилось, 2-е слово-отображается в Memo на новой строке, не удаляя первого и т.д.
В приложении возможный кусок кода.
Заранее благодарен!


Приложение:


Вопрос отправлен: 20.10.2004, 14:14
Отправитель: Андрей

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Доброе время суток, Андрей!
Memo1.Lines.Add как раз и предусматривает добавление текста каждый раз в новую строку TMemo.

Ответ отправлен: 21.10.2004, 10:35
Отправитель: sir henry


 Вопрос № 1875

Здравствуйте, уважаемые эксперты. Подскажите пожалуйста каким образом с помощью Delphi, прграммно можно создать виртуальный диск, который в дальнейшем должен быть зашифрован.



Вопрос отправлен: 21.10.2004, 00:48
Отправитель: Руки_Прочь!!!

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Добрый день, Руки_Прочь!!!!
Если Вы работаете с файловой системой NTFS, то нет проблем, шифрация у Вас прямо под ркой. Виртуальный диск можно создать командой:
subst диск:каталогкаталог

Ответ отправлен: 21.10.2004, 10:48
Отправитель: sir henry



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (27)
C / C++ (16)
Perl (8)
Builder / Delphi (19)
Pascal (21)
Basic / VBA (9)
Java / JavaScript (6)
PHP (18)
Криптография (8)
WinAPI (15)
Радиоэлектроника (15)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (63)
"Железо" (39)
Поиск информации (21)
Администратору
Windows NT/2000/XP (37)
Linux / Unix (14)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (6)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.





http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное