API (интерфейс программирования приложений) Интерфейс прикладного программирования, который должен использоваться на всех компьютерных языках. Что такое API? API - это способ использования услуг, предоставляемых операционной системой Фильтрация и аппаратное обеспечение при программировании. Поэтому, если вы можете использовать API для реализации функций во время программирования, мы стараемся их использовать.
l Как использовать API Windows в Delphi
В ежедневной разработке мы часто используем функции API Windows, поэтому, где существуют функции API? Таким образом, мы можем понять, что функция API инкапсулирована в системный файл DLL, предоставленный системой Windows. Например, процедура звука, которую мы часто используем, реализуется путем вызова messageBeep в пользовательском 32.dll в системном каталоге Windwos; Delphithe Наиболее часто используемые dlls: advapi32.dll, kernel32.dll, mpr.dll, version.dll, comctl32.dll, gdi32.dll, opengl32.dll, user32.dll, wintrust.dll, msimg32.
Итак, как Delphi использует эту функцию API? Поскольку функция API существует в системе DLL, мы можем назвать функцию API так же, как мы называем DLL, которую мы написали. Есть два способа вызовой функций DLL, один из них является статическим методом, а другой - динамический метод. API, которые вызовут Windows, все статичны, почему? Это связано с тем, что эти DLL являются самыми основными услугами, предоставляемыми операционной системой.
L API и ежедневное программирование
Delphi инкапсулирует большинство функций API Windows (в основном в Windows.PAS), которые следует сказать, что он способен выполнять большую часть нашей работы. Но иногда, когда существуют особые требования, нам, возможно, придется вызвать некоторые API, которые не были инкапсулированы Delphi, а иногда даже вызывают функции API, которые не были опубликованы Windows. Итак, как вы называете эти функции API? Как упоминалось ранее, просто используйте статические вызовы метода. Для получения более подробных звонков, пожалуйста, обратитесь к соответствующей информации.
Ключом к вызову этих некапсулированных функций API Delphi является знать параметры. Вы можете проверить последнюю MSDN или соответствующую информацию.
L API и VCL
MFC Microsoft имеет большое количество инкапсулированных API Windows, и VCL не является исключением. Большая часть реализации функций VCL не может быть отделена от API Windows, либо непосредственно называемой, либо просто инкапсулированной, а затем вызванной. Например, реализация перекрашивания TControl (в блоке управления):
Процедура tControl.Repaint;
вар
DC: HDC;
Начинать
Если (видимый или (csdesigning в componentstate), а не (
csnodesignvisible в ControlStyle)) и (родитель <> nil) и
Parent.HandLealLocated тогда
Если csopaque в ControlStyle, тогда
Начинать
// getDC DLL называется напрямую
DC: = getDC (parent.handle);
Пытаться
// непосредственно вызовать gdi32.dll с интерсект -клипретом
RecectClipRect (DC, слева, верхняя, левая + ширина, верхняя часть +
Высота);
// parent.paintcontrols вызывает большое количество API
Parent.paintcontrols (DC, Self);
Окончательно
// непосредственно вызовать пользователь32.dll
Выпущен (parent.handle, DC);
конец;
конец еще
Начинать
// следующие два вызываются инкапсуляцией
Недействителен;
Обновлять;
конец;
конец;
Видно, что в VCL есть APIS. заботятся об этих раздражающих параметрах API.
Что такое com? Com (Component Object Model), модель объекта компонента, представляет собой модель программного обеспечения, основанную на платформе Windows, которая позволяет различным независимым объектам общаться друг с другом без каких -либо ограничений на вычислительном языке. Это определение относительно абстрактно. Объекты COM доступны через интерфейс. Цель COM объект - реализовать обмен ресурсами. Не
L VCL и Com
COM - это то, что Microsoft сильно высоко оценила, поэтому она находится везде в операционной системе Windows. от унаследованного Tcustomadodataset, определение Tcustomadodataset заключается в следующем:
Tcustomadodataset = class (tdataset, iunknown,
Recordseteventsvt)
Частный
FrecordsetObject: _recordset;
Ffindcursor: _recordset;
Flookupcursor: _recordset;
Flockcursor: _recordset;
Frowset: Irowset;
Faccessor: Iaccessor;
FrowsetFind: iRowsetFind;
Fhaccessor: Haccessor;
Folerecbufsize: целое число;
…
конец;
ADO (Microsoft Activex Data Objects), коллекция объектов COM, которые получают доступ к базе данных через поставщика Microsoft OLE DB. Например, мы изучим процесс реализации первого метода Tadoquery:
Tadoquery.first-> tdataset.first-> tdataset.internalfirst-> tcustomadodataset.internalfirst-> recordset15
Tadoquery наследует от Tcustomadodataset, а Tcustomadodataset наследует от tdataset, tdataset.internalfirst определяет виртуальный метод, и подкласс Tcustomadodataset.internalfirst переопределяет его. Tcustomadodataset.
Нетрудно обнаружить, что Tadoquery.first в конечном итоге реализован через интерфейс, вызывающий объект COM.
L Delphi и Windows Shell
Что такое оболочка Windows? Оболочка Windows является средой для работы интерфейса Windows, а также предоставляет нам мощную масштабируемость для программирования. Мы используем оболочки Windows для программирования определенных функций, называемых расширениями оболочки. Например, если на вашем компьютере установлен Winrar, вы увидите сжатое меню Winrar в меню правой щелью в папке. Эти функции реализованы через расширения оболочки Windows.
Оболочка Windows основана на COM, поэтому все расширения оболочки должны реализованы через интерфейсы. Delphi также определяет множество интерфейсов удлинения оболочки в устройстве Source/RTL/Win/Shlobj.PAS в каталоге установки Delphi7.
Существует пример виртуального списка в демонстрационном каталоге Delphi, который состоит в том, чтобы реализовать просмотр дисков через расширения оболочки Windows.
Внедрение языка сборки в код также является основной особенностью Delphi.
Язык сборки-это относительно низкоуровневый компьютерный язык, который тесно связан с оборудованием. Поэтому мы стараемся не использовать его в ежедневном программировании, но в некоторых особых случаях (таких как высокопроизводительные требования и прямые аппаратные манипуляции), это все равно может играть большую роль.
Конец.
(Если вам нужно перепечатать, укажите источник и автор http://haitian.myrice.com)