Приглашаються авторы статей для сотрудничества с сайтом. Подробности о том как добавить свою статью на сервер читайте здесь
На сайте Delphi Coding собрано большое количество статей, книг и различной компьютерной документации. В рассылке вы сможете увидеть последнии поступления на сайте, а также более подробно ознакомиться с некоторыми материалами.
Актуальная прога. Когда пользователь
входит в интернет, автоматически выводится маленькое окошко, где показываются время, проведенное в интернете, текущий тариф, количество потраченных центов и текущее состояние счета. Достаточно маленькая и удобная программа.
Програма строит объемные изображения, наблюдаемые через светофильтры. В наборе пока
только 5 фигур, но их легко сделать самим! Жду ваших фигур для выкладывания их на сайте. А программа вроде неплохая получилась...
Программа прорисовки фракталов. Полностью функциональная и рабочая. Огромная скорость и большое количество настроек.
Есть возможность делать AVI-файлы (!) , постеры до 20х30 метров (из А4 листов), встроенные фильтры, бесконечный ZOOM.
Картинная галлерея. Картинки JPG хранятся
в базе данных. Есть возможность добавления отдельных файлов и групп файлов в базу. Возможность сохранения из базы в файл. Слайд-шоу по категоряим и скопом без выделения категории. Алиас для базы - Gallery, Текстовый файл расположен на с:/ (базу и текстовый файл с категориями скачать в разделе download).
Это происходит при использовании сервера автоматизации Delphi, или когда сервер автоматизации (например, word.basic) не запущен.
Листинг 1. КодDelphi/Pascal
procedureTForm1.Button1Click(Sender:TObject); var
V:OleVariant; begin
V:=GetActiveOleObject('Word.Basic');
V.FileNew;
V.Insert('тест'); end;
GetActiveOleObject определен в ComObj.pas. Он преобразует имя класса в guid и передает его при вызове Windows api функции GetActiveObject.
Листинг 2. КодDelphi/Pascal
functionGetActiveOleObject(constClassName:string):IDispatch; var
ClassID:TCLSID;
Unknown:IUnknown; begin
ClassID:=ProgIDToClassID(ClassName);
Почему ACTIVEX и активные формы иногда не отображаются в INTERNET EXPLORER? Все, что появляется, это .HTM-страница с пустым квадратом и красным "X" в нем.
Вероятно, при создании ActiveForm вы выбрали опцию лицензирования и не
поместили .LIC-файл в ваш .OCX-файл. Обычно с ActiveForms/ActiveXs лицензирование не используется, поскольку активные элементы в основном
используются для повышения привлекательности Интернет-сервера и
"распространяются" свободно. Чтобы выключить лицензию времени разработки (Design-Time Licensing), найдите секцию initialization в вашем ActiveForm XXXImpl-файле и замените предпоследний параметр вызова TActiveXControlFactory.Create на пустую строку:
Так когда мне нужно будет использовать Design-Time Licensing?
Ваш элемент управления должен использовать design-time-лицензию только в случае, если вы продаете ActiveX или ActiveForm другим разработчикам, которые встраивают их в продаваемые ими приложения для конечных пользователей. То есть, элемент управления работает в среде разработки (например, Delphi, C++Builder, VB и пр.) только когда LIC-файл присутствует, но это не работает когда .LIC-файл отсутствует во время выполнения приложения без среды разработки (например, в
приложении для конечного пользователя).
Если вы распространяете ваш ActiveX в Интернете, то вы должны задать режим разработки для конечного пользователя (в противоположность передачи другим разработчикам), и вам в этом случае не потребуется лицензия времени разработки.
Кроме того, для показа ActiveForm необходимо установить в Internet Explorer уровень "Active content security" (безопасность активного содержимого) в medium (средняя). Чтобы это сделать, войдите в Панель Управления и щелкните на иконке Internet. Перейдите на страницу безопасности и нажмите на кнопку "Safety Level" (уровень безопасности). Убедитесь в том, что уровень находится на отметке
"средний".
Примечание: Данный совет отностится только если вы разрабатываете собственные элементы управления. Потенциально хакерские элементы ActiveX могут нанести вред компьютеру!
GetActiveOleObject использует интерфейс с именем IRunningObjectTable. Мы не регистрируем это автоматически в таблице, поэтому, чтобы воспользоваться его функциональным назначением, вы должны получить этот интерфейс и использовать его методы для регистрации.
На этом позвольте проститься с Вами и пожелать удачи. Свои замечания и предложения отправляйте на е-майл, указанный ниже.
С уважением, Виталий (NoilTeam@gmail.com)