Q: Как сделать так, чтобы программу можно было запустить только в одном экземпляре?
A: Воспользуйтесь функцией ActivatePrevInstance из библиотеки rxLib. Для завершения второго экземпляра используйте Application.Terminate.
(AS): Другой вариант: X:\DELPHI2\DEMOS\IPCDEMOS\ipcthrd.pas, функция IsMonitorRunning().
Q: Как мне вывести какое-нибудь окошко с картинкой, пока программа грузится?
A: Смотрите пример в X:\DELPHI\DEMOS\DB\MASTAPP\mastapp.dpr.
Удобно использовать функцию ShowSplashWindow из rxLib.
Q: А как поместить свою иконку на taskbar, там где часы и переключатель клавиатуры? (Этот вопрос получил первый приз).
A: В библиотеке rxLib есть компонент TrxTrayIcon. Заметьте, что для корректного завершения работы операционной системе вам потребуется обрабатывать сообщение WM_QUERYENDSESSION.
Q: Как сделать плавно изменяющийся цвет заголовка окна, как в MSOffice’95?
В rxLib есть TGradientCaption.
Q: Как мне перекодировать строки из Win-кодировки в Dos-кодировку и наоборот?
A: CharToOEM, OEMToChar, CharToOEMBuff, OEMToCharBuff. Заметьте однако, что эти функции не умеют делать таких, например, вещей, как koi8-r в DOS и т. п.
Q: Как отловить события создания или удаления файлов другими программами?
В rxLib есть TrxFolderMonitor.
(Win16) FileCDR, но она плохо документирована.
Q: Как вывести диалог выбора каталога?
A: (DS): SelectDirectory, rxLib: TDirectoryEdit.