Уважаемые эксперты! Нужна помощь при работе с TADOConnection. Схема работы такая: каждый раз при запуске программы на FormShow вызывается функция InitConnection, которая в свою очередь может вызывать ResetConnection. После того, как юзер установит настройки, строка соединения исправно пишется в ИНИ-файл. Но! По какой-то причине достаточно часто программа "отцепляется", т.е. строка соединения, записанная ранее в ИНИ, правильная и честно читается из ИНИ, однако по этой строке соединения не происходит, и выводится стандартная форма переподключения (PromptDataSource в ResetConnection). Юзеры каждый раз пугаются и начинают звонить, а я в сотый раз объясняю, как переподключиться. Вопрос: что я делаю не так? Почему соединения по считанной строке часто не происходит? (Причем закономерность не отслеживается, это может случиться один раз в день или десять,
или раз в неделю...)
Доброе время суток, L_Dorrit! 1. Попробуйте, вместо строки связи с БД в Вашей программе, использовать файл связи (Use data link file). Создайте файл, например MyDB.udl и, щелкнув правой кнопкой мыши, войдите в его свойства. Внесете то, что нужно и файл готов. Далее, просто занесете название файла в ConnectionString компонента. Можно создать несколько файлов и использовать выбор при запуске программы. 2. А нормальное ли у Вас соединение с БД? Может быть проблемы в сети? Ответ отправлен: 11.03.2004, 10:49 Отправитель: sir henry Отвечает Pawel
Добрый день, L_Dorrit! Работать должно, может проблемы со связью с базой. Ответ отправлен: 11.03.2004, 18:53 Отправитель: Pawel
Вопрос № 1402
Приветствую, подскажите такую штуку: Моя программа является загрузчиком другой, ну допустим тыкаем открыть bmp файл, и программа (асоциированная) paint.exe получает в качестве параметра %1 имя файла, который нужно открыть, дык вот, куда посылается строка '"c:windowspaint.exe" "c:my docfile.bmp"'? В приложении написано как я делал, но таким образом не получается, видимо при открытии файла эта самая строка посылается через rundll32 или что-то подобное, и уже в обработанном виде пересылается непосредственно исполняемой программе...
Добрый день, Ландграф Павел! Примерно так дело и идет, но только не исполняемой, а исполняющей программе. Какой именно - по расширению определяется с помощью записи в реестре. Но у Вас смущает наличие какого-то 'Spectaculator.exe', а также известного ParamStr(1), которое непонятно, что здесь делает. Попробуйте вывести содерщимое Param - сами увидите, можно ли такое выполнить. У Вас похоже получилась строка необрабатываемого вида. У меня сработало как в приложении
Приложение: Ответ отправлен: 11.03.2004, 14:50 Отправитель: Boriss Отвечает Pawel
Добрый день, Ландграф Павел! А не проще использовать ShellExecute? Ответ отправлен: 11.03.2004, 18:56 Отправитель: Pawel Отвечает sir henry
Добрый день, Ландграф Павел! Попробуйте так: If OpenDialog1.Execute Then ShellExecute(0, PChar(OpenDialog1.FileName), и так далее Ответ отправлен: 12.03.2004, 07:37 Отправитель: sir henry
Вопрос № 1403
][айте, эксперты! меня очень интересует работа delphi+excel, с word'ом я работать умею, конкретно мне нужно знать, как создать документ в запущеном экселе, вносить в определенные ячейки(х,у) текст, менять шрифт, цвет фона, рисовать видимые таблицы.
Доброе время суток, Zensor! Vot tut tebe nujno znat VBA (kak i vsluchaye s word'om) Posmotri fayl vbaxl*.chm iz officeHLP Ответ отправлен: 11.03.2004, 17:06 Отправитель: THE_PRO Отвечает Pawel
Добрый день, Zensor! В Delphidemo есть надлежащие примеры Ответ отправлен: 11.03.2004, 18:58 Отправитель: Pawel Отвечает samum2000
Hi, Zensor. В приложении простой пример, демонстрирующий работу с Excel. В файле справки vbaxl8.hlp содержится некоторая информация по объектам Excel. И еще, старайтесь по-максимуму использовать шаблоны с предварительным форматированием и связыванием данных - это гораздо быстрее и проще.
Приложение: Ответ отправлен: 12.03.2004, 14:09 Отправитель: samum2000 Отвечает Boriss
Здравствуйте, Zensor! На http://rsdn.ru/article/com/excelcache.xml есть интересная статья, но для VC++. Хотя понять можно и Дельфисту, тем более, что теперь они не так-то уж и далеки Ответ отправлен: 12.03.2004, 20:20 Отправитель: Boriss
Вопрос № 1404
У меня возник вопрос про обработчик WM_Paint. Не зря же его придумали. По производительности и по занимаемым ресурсам, что предпочтительней WM_Paint или BeginPaint и EndPaint? Мне нужна очень высокая скорость по выводу графических примитивов. Говорят что это только DIRECTX потянет. У вас есть, что нибудь по DIRECTX for Delphi?
Доброе время суток, Александр! 1. WM_PAINT - это сообщение, посылаемое окну о том, что требуется его перерисовка. К рисованию графических примитивов, как Вы уже поняли, оно не имеет никакого отношения. При обработке этого сообщения в оконной процедуре, применяется связка функций BeginPaint() - EndPaint(), между которыми, собственно и происходит перерисовка окна. 2. У нас по DIRECTX и Дельфи есть книжка автора Краснова, где изложены основы использования DirectX в Дельфи. Купите, не пожалеете. Зайдите также на http://delphigfx.mastak.ru, там множество статей и примеров по графике в Дельфи вообще и по DirectX в частности. Ответ отправлен: 13.03.2004, 03:59 Отправитель: sir henry Отвечает samum2000
Приветствую вас,Александр! А>У меня возник вопрос про обработчик WM_Paint. Не зря же его придумали. Конечно, не зря. Этот обработчик вызывается всякий раз, когда объект нужно перерисовать. BeginPaint и EndPaint и так можно использовать только в обработчике WM_Paint, поэтому непонятно, что конкретно вы подразумеваете. Кое-какие материалы и модули есть. Если понадобится, свяжитесь со мной: Samum2000@mail15.com -------------------------- -=Experts helper: testmode=-
Приложение: Ответ отправлен: 14.03.2004, 09:43 Отправитель: samum2000 Отвечает CJ
Доброе время суток, Александр! А DelphiX или OpenGl?? Чем не устраивают? Ответ отправлен: 12.03.2004, 15:33 Отправитель: CJ Отвечает Pawel
Добрый день, Александр! Именно DIRECTX, тогда какой версии? Не проше ли использовать DelphiX? GLScene? Посмотрите в http://delphigfx.mastak.ru, там вроде были примеры и дока Ответ отправлен: 12.03.2004, 20:04 Отправитель: Pawel Отвечает Boriss
Добрый день, Александр! Хороший справочник по DirectX поставляется вместе с ним. У меня есть directX.chm на 5 мег, но на английском Ответ отправлен: 13.03.2004, 13:15 Отправитель: Boriss
Вопрос № 1405
Здравствуйте, ЭКСПЕРТЫ! Возвращаюсь к вопросу 1383. Есть функция DbiSaveChanges(hDBICur): Она обновляет буфер и все должно сохраниться, но при компиляции появляется ошибка, типа - че за функция. Может что-то нужно прописать дополнительно или есть другой способ? Что именно в USES прописать?
Приветствую Вас, Александр! В USES нужно дополнительно прописать BDE, т.к. Вы непосредственно обращаетесь к функциям BDE. Ответ отправлен: 13.03.2004, 04:10 Отправитель: sir henry Отвечает samum2000
Приветствую вас,Александр! Надо в секцию Uses добавить dbiProcs. -------------------------- -=Experts helper: testmode=-
Приложение: Ответ отправлен: 14.03.2004, 09:43 Отправитель: samum2000 Отвечает Pawel
Добрый день, Александр! В USES нужно прописать имя библиотеки, из которой эта функция. Где вы нашли эту функцию??? Ответ отправлен: 12.03.2004, 20:06 Отправитель: Pawel Отвечает Boriss
Здравствуйте, Александр! Интересно, что помощи к 7-му Delphi действительно модуль не указан А располагается функция в модуле BDE, то есть uses BDE; Ответ отправлен: 13.03.2004, 13:40 Отправитель: Boriss
Вопрос № 1406
Здравствуйте эксперты! Пишу супер-пупер прогу, и так как больше спросить не у кого обращаюсь к вам! Вопрос: Как мне скрыть свой IP, ну создал я прогу для отправки анонимных писем, или отправка писем с чужого е-майла нажимаю отправить, всё вроде хорошо, но когда нажимаю свойства письма видно, что IP то мой :( Как бы сделать так, чтобы можно было писать какой надо чтобы отображался IP ? Скажите пожалуйста, или хотябы дайте точные ссылки про эту тему! Надеюсь на вас!!! P.S. В дальнейшем буду спрашивать ещё :)
Добрый день, Noname! Спрашивайте, нас не запугаешь! А вот IP, как мне кажется, спрятать совсем нельзя, если судить по технике пердачи Ответ отправлен: 13.03.2004, 14:42 Отправитель: Boriss Отвечает Pawel
Здравствуйте, Noname! Спрятать IP можно, но для этого нужно работать с протаколам на низском уровне. Кстати вы пробовали спрятоть Ip с помощью ZoneAlarm. Ответ отправлен: 14.03.2004, 12:21 Отправитель: Pawel
Вопрос № 1407
Зиг Хай г-да эксперты!!! Как можно поменять рисунок на рабочем столе??? P.S. Звините за юзверьский вопрос ;) P.P.S. Спасибо samum'у за предыдущий...
Здравствуйте, INSOMaNIAC! В приложении парочка примеров.
Приложение: Ответ отправлен: 13.03.2004, 04:26 Отправитель: sir henry Отвечает samum2000
Приветствую вас,INSOMaNIAC! В приложении небольшой пример. Правда, он работает только для BMP, поэтому остальные типы надо будет приводить к BMP, и только потом менять рисунок. -------------------------- -=Experts helper: testmode=-
Приложение: Ответ отправлен: 14.03.2004, 09:44 Отправитель: samum2000 Отвечает CJ
Здравствуйте, INSOMaNIAC! Через ключ в реестре! Ответ отправлен: 12.03.2004, 20:13 Отправитель: CJ Отвечает Pawel
Ответ отправлен: 12.03.2004, 20:29 Отправитель: Pawel Отвечает Boriss
Добрый день, INSOMaNIAC! Все настройки на фоновый рисунок хранятся в реестре. Поэтому надо сначала скопировать картинку в какое-нибудь место (лучше в каталог Виндов). Информация по обоям хранится в разделе HKEY_CURRENT_USERControi PanelDesktop в параметрах TileWallpaper (если 1 - рисунок размножен, 0 - в центре), Wallpaper - путь к файлу обоев (gif, bmp, jpg), WallpaperStyle - если 2, то обои будут растянуты (отсутствует в 95 винде). После установки всех значений обновляешь рабочий стои как в приложении
Приложение: Ответ отправлен: 13.03.2004, 14:02 Отправитель: Boriss
Вопрос № 1408
Я послал вопрос тогда и забыл имя вписать и е-майл, вопрос то : Как скрыть е-майл, когда отправляешь письмо с помощью моей программы? Моя прога напоминаю анонимные письма отправлет!!!
Приветствую Вас, Scorp! Врядли это получится, ведь ты указваешь его в коде, а компонент все-равно добавит! Ответ отправлен: 12.03.2004, 20:13 Отправитель: CJ Отвечает Boriss
Добрый день, Scorp! Спамишь? Ответ отправлен: 13.03.2004, 14:21 Отправитель: Boriss Отвечает Pawel
Добрый день, Scorp! Вы пишете прогу отправки анонимных писем, не зная как их отправлять. Когда вы отсылаете письмо средствами C++ Builder / Delphi то должны указать адрес отправителя, пишите туда какой-нибудь левый адрес, но существующий и на том-же хосте. Ответ отправлен: 14.03.2004, 12:24 Отправитель: Pawel
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.