Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001
- Название:Советы по Delphi. Версия 1.4.3 от 1.1.2001
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание
…начиная с 1001. Смотрите другие файлы…
Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Windows посылает сообщение WM_QUERYENDSESSION главным окнам всех запущенных приложений, при этом приложения должно сообщить свою готовность к завершению работы.
Если при этом хотя бы одно из приложений ответит отрицательно, Windows прерывает процесс завершения работы.
Delphi перехватывает это сообщение, и, в свою очередь, вызывает метод TForm.CloseQuery, (в главной форме, естественно), который генерирует событие OnCloseQuery, в обработчике которого можно указать на неготовность завершения приложения и отмены завершения работы Windows.
Если я правильно понимаю, если ваше приложение «не мешает» Windows завершить свою работу, Windows нормально НЕ завершает работу приложения, поскольку для этого нет необходимости, не нужно освобождать память, ресурсы и пр. Так, если это утверждение верно (это легко можно проверить, но я слишком ленив сейчас), то событие OnCloseQuery – ваш единственный шанс сохранения данных на диске. Я не думаю что эта логика слишком плоха, просто это одна из тех причуд Windows, которую нужно знать и пользоваться ею. Что может произойти в описанном выше сценарии: редактируемая в настоящий момент запись не будет отправлена (Post) в базу данных, но та же самая вещь может случиться и при нормальном завершении приложения.
При выходе из windows, вы вызываете WM_CLOSE api (или что-то типа этого) для каждого работающего в настоящий момент приложения. Программа закрывается точно таким же образом, как если бы вы щелкнули на кнопке закрытия или вызвали close из главной формы. Поэтому вам не нужно предпринимать никаких дополнительный действий, связанных с завершением работы с таблицами.
Изменение свойств базы данных во время выполнения приложения
Delphi 1
Свойство DatabaseName тесно связано с:
• каталогом, где расположены ваши табличные файлы.
• BDE-псевдоним вашей базы данных.
• DatabaseName вашего компонента TDatabase, если вы имеете его.
Выводы?
Как мне задать выражение по умолчанию для объекта TField?
Delphi 3
Это будет работать, если вы уже установили атрибуты поля и ассоциировали его с полем вашей таблицы. Если вы установили значение в Инспекторе Объектов, т.е. задали строку, не думайте, что это сработает во время выполнения приложения. Если вы попытаетесь во время прогона установить свойство TField.DefaultExpression примерно так:
MyField.DefaultExpression := 'MyValue';
то это скомпилируется, но при создании в таблице новой записи, скажем, при щелчке на кнопке + в DBNavigator, значения по умолчанию вы не получите. Чтобы во время работы приложения все работало, код должен быть таким:
MyField.DefaultExpression := '''MyValue''';
В Инспекторе Объектов вам нужно просто поместить значение 'MyValue' (используя одинарные кавычки).
После того, как я использовал правый щелчок мыши для создания функции-провайдера, как мне снова выполнить команду контекстного меню `Export from Table`?
Nomadicотвечает:
Как только Вы экспортировали интерфейс провайдера, эта команда контекстного меню перестает быть видимой. Чтобы снова включить ее, Вы должны удалить ассоциированное свойство в Редакторе Библиотеки Типов, и затем нажать кнопку обновления информации в Редакторе Библиотеки Типов (Type Library Editor's Refresh button). Вы могли бы также удалить точку вхождения «Get_XXX» в исходном тексте RemoteDataModule.
Как работать с новыми, своими интерфейсами в RemoteDataModule?
Nomadicотвечает:
В редакторе библиотеки типов (typelib) Вы можете добавить свои интерфейсы и сделать их членами оригинального coClass. После этого Вы можете обращаться к этим интерфейсам, используя следующий синтаксис:
(IDispatch(RemoteServer.AppServer) asIAnother)
Необходимо заметить, что это будет работать только, если Вы используете DCOM как транспорт.
Database Desktop показывает содержимое таблиц шрифтом без русских букв
Nomadicотвечает:
A: Для DBD 5.0 в файл c:\windows\pdoxwin.ini вставить в секцию
[Properties]
SystemFont=Arial Cyr
Для DBD 7.0 нужно исправить реестр: ключ
HKCU\Software\Borland\DBD\7.0\Preferences\Properties\
SystemFont="Fixedsys"
Если такой ключ не существует, его следует создать. Впрочем, для просмотра таблиц все равно можно порекомендовать rx Database Explorer – у него это получается очень хорошо.
Ребят, я давно делаю под HТ (под 95 не знаю, не пробовал) такую вещь:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1252"="c_1251.nls"
BDE
InterBase
FAQ по InterBase
Если вы имеете дополнения, исправления или пожелания, шлите мне письма по адресу rlove@pobox.com.
Текущая версия данного FAQ'а доступна по адресу http://www.xmission.com/~uldata/ib/faq.txt.
Авторские права: 1996 Robert J. Love
Данный FAQ свободен для копирования, распространения и изменения формата.
Многие из этих вопросов и ответов взяты непосредственно из документов Borland. Авторские права таких ответов остаются у Borland.
Авторские права: Borland International, Inc.
1. Что мне необходимо для распространения InterBase/Delphi приложения, созданного для нашего InterBase сервера?
2. Что мне необходимо для распространения InterBase/Delphi приложения, созданного дла работы с Local InterBase?
3. Что юридически необходимо для распространения Local InterBase Server (LIBS)?
4. Я не могу подключить мои 32-битные приложения к моему серверу Novel…
5. Мое подключение к Интернет (Internet Connection) стартует всякий раз, когда я пробую соединиться с InterBase.
6. При попытке соединения я получаю следующее сообщение: Statement failed, SQLCODE = –902 (запрос потерпел неудачу) Unable to complete network request to host «DEV». (Невозможно завершить сетевой запрос для хоста «DEV».) –Failed to locate host machine. (невозможно найти хост-машину) –Undefined service gds_db/tcp. (сервис gds_db/tcp неопределен)
7. Мое соединение с InterBase, похоже, очень медленно…
8. Какие существуют Интернет-сервера, посвященные InterBase?
9. Существуют ли 16-битные драйвера ODBC, позволяющие подключаться к InterBase NT, Netware или любому из серверов UNIX?
10. Почему Delphi 1.00 поставляется с 16-битными драйверами ODBC для InterBase?
11. Существуют ли 32-битные драйвера ODBC, позволяющие подключаться к InterBase NT, Netware или любому из серверов UNIX?
12. Поддерживают ли 32-битные драйвера ODBC DSN?
13. Почему Borland решил взимать плату за Local 32-битную версию?
14. Как мне подписаться на список рассылки InterBase Mailing List?
15. Если в этом FAQ'е нет ответа на мой вопрос, куда мне обратиться?
16. Что такое InterBase 4.2?
17. Что нового в InterBase 4.2?
18. Для чего нужен Local InterBase?
19. Кто может быть пользователем InterBase Server под Windows 95?
20. Что включает в себя сервер InterBase под Windows 95?
21. Что включает в себя InterBase Server 4.2 for Windows NT?
22. Как осуществляется лицензирование InterBase?
23. Могу ли я свободно копировать ODBC драйвера InterBase?
24. Сколько стоит обновление до 4.2?
Читать дальшеИнтервал:
Закладка: