Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
OLE
OLE-автоматизация
Delphi 1
Delphi 16 также может осуществлять автоматизацию OLE, как она может и многое другое. Другое дело, что у нее нет компонентов-инкапсуляторов, и нет традиционных объектов, делающих работу с OLE такой же легкой, как это происходит с другими вещами в Delphi. Delphi32 таки должен иметь какие-то характеристики для работы с OLE (я так надеюсь).
Так, если вы собираетесь делать какие-то действия с любым типом OLE-сервера, то для этого вам необходимо будет использовать все нудные и противные рутинки из набора Windows SDK. Но будет лучше, если всем этим будет заправлять специализированный компонент. Но этот вопрос уже не к Borland.
OLE сервер
Delphi 1
Следующий код компилируется без проблем. Он не так ясен и понятен, но он может вам помочь:
Используйте метод, приведенный ниже. Вы должны объявить одну вызывающую функцию к каждой комбинации параметров, которые вы собираетесь передавать. Затем вы вызываете вызывающую функцию (сорри) и передаете ей как указатель функцию, которую вы хотите вызвать (еще раз сорри). Непонятно? Поясню на примере:
На моем компьютере это компилируется без проблем. Должно работать и у вас. Предупреждение. Обращение к методам должно быть немного другим, нежели к функциям.
Как я могу избавиться от 'зарегистрированного' имени сервера, если я не хочу использовать его далее?
Nomadic советует:
Запустите исполняемый файл сервера с ключом /UNREGSERVER:
Это обычный путь разрегистрации саморегистрирующегося сервера автоматизации OLE.
Миграция
Delphi 2
Совместимость D1/D2
Какая может быть причина того, что программа, работающая в среде W31, не работает в W95 ?
Похоже на то, что данные, сохраненные в двоичном файле, читаются неправильно.
Имеется масса отличий в фундаментальных типах между Delphi 1.0 и Delphi 2.0, которые могут повлиять на двоичный файл. Вот некоторые из них:
1. строки в Delphi 1.0 не эквивалентны строкам по умолчанию (длинным) в версии 2.0
2. «integer» 16-битный в Delphi 1.0 и 32-битный в 2.0
3. записи автоматически упаковываются в Delphi 1.0, но не в Delphi 2.0
– Rick Rogers
Delphi 3
Куда из Delphi 3 делся модуль для работы с ReportSmith? А мои любимые модули работы с OLE: ole2, oleauto и olectl?
Одной строкой
Nomadic отвечает:
Они лежат в X:\DELPHI3\LIB\DELPHI2.