Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
STG_E_FILENOTFOUND (FACILITY_STORAGE)
DISP_E_EXCEPTION (FACILITY_DISPATCH)
Эти и другие коды ошибок определены в файле winerror.h (в Delphi они определены в файле Windows.pas). Для анализа и обработки значений HRSULT удобно использовать макросы, которые описаны в разделе MSDN “Using Macros for Error Handling”. Вот два наиболее «популярных» макроса: HRESULT hr; SUCCEEDED(hr)– возращает 1 (true) в случае отсутствия ошибки (hr>0) FAILED(hr) –возращает 1 (true) в случае наличия ошибки (hr<0)
Получение текстов сообщений об ошибках
Для получения текстового описания какой-либо ошибки можно путем поиска полученного значения HResult (в шестнадцатеричной системе) в файле winerror.h (на английском языке). Вот фрагмент этого файла с определением одной ошибки: // // MessageId: E_ACCESSDENIED // // MessageText: // // General access denied error // #define E_ACCESSDENIED _HRESULT_TYPEDEF_(0x80070005L)
Другой и более удобный способ – это использование утилиты Error Lookup из Microsoft Visual Studio Tools (в MVS-2005 это команда меню ToolsèError Lookup). Единственное входное данное для нее – это код ошибки. Вот пример ее использования:
Еще одним способом получения текстового описания ошибки является использование функции Win32 API FormatMessage(). Так как функция FormatMessage() довольно громоздка в использовании, я написал для нее оболочку, даже две. Функция GetErrorMessage() возвращает значение типа CString, а GetErrorMessageA() – типа char * в кодировке 866, т.е. MS DOS. Эти функции я поместил в файл FmtError.h, который нужно подключить к программе: // FmtError.h - функции возврата текстового сообщения об ошибке по ее коду // @В.Н.Овсянник 2009 #pragma once CString GetErrorMessage( HRESULT hr ) { BOOL bRet; CString s; LPTSTR lpBuffer=NULL; if ( SUCCEEDED(hr) ) return _T("Ошибки нет"); bRet = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT), (LPTSTR) &lpBuffer, 0, NULL); if ( !bRet ) s.Format(_T("Код ошибки %ld"), hr ); if ( lpBuffer ) { s = lpBuffer; LocalFree( lpBuffer ); } return s; } char Buf[300]; char * GetErrorMessageA( HRESULT hr ) { WideCharToMultiByte(866,WC_NO_BEST_FIT_CHARS, GetErrorMessage(hr).GetBuffer(),-1,Buf,sizeof(Buf),0,0); return Buf; }
Типы данных СОМ Типы данных методов и свойств СОМ объектов Методы интерфейсов, производных от IUnknown (custom interface – пользовательский интерфейс) или от IDispatch, могут иметь тип возвращаемого значения только HRESULT (другой выбрать невозможно при использовании мастера добавления метода к интерфейсу). Таким образом, возвращаемым значением может быть только код результата выполнения метода, т.е. код ошибки. Параметры методов любых интерфейсов могут иметь любой из типов, перечисленных в табл. 1. Таблица 1 Типы параметров методов любых интерфейсов
Типы значений, возвращаемых методами диспинтерфейсов (dispinterface), перечислены в табл. 2. Это же и возможные типы свойств, за исключением, естественно, типа void.
Таблица 2 Типы значений, возвращаемых методами диспинтерфейсов
Тип BSTR Этот тип широко используется при работе со строками в СОМ-объектах и объявлен как указатель на символы Unicode (тип wchar_t и представляет собой символы Unicode): typedef wchar_t WCHAR; typedef WCHAR OLECHAR; typedef OLECHAR *BSTR;
Отсюда следует, что его можно применять так же, как и другие указатели, например (в консольном приложении, в данном случае построенном без поддержки MFC, хотя это и не существенно): #include "stdafx.h" #include <IOStream> #include <ConIO.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { BSTR str=_T("Const string 1"); str=_T("Const string 2"); wcout<<(wchar_t*)str<<endl; wcout<<str<<endl; str=new wchar_t [123000]; wcin>>str; MessageBoxW(0,(wchar_t*)str,_T("Зри!"),0); delete [] str; str=_T("Константа 3"); MessageBoxW(0,str,_T("Зри!"),0); _getch(); return 0; }
Как «обычно», с символами кириллицы в консольном приложении будут проблемы и надо выполнять их преобразование в ANSI-символы (см. подраздел «Русификация приложений»). Вместе с тем, в приложениях с графическим интерфейсом этих проблем не будет. Текст «Константа 3» функция MessageBoxW() выведет корректно. В приложениях, являющихся СОМ-серверами, при работе с типом BSTR следует использовать для выделения и освобождения памяти функции SysAllocString() и SysFreeString() вместо привычных операций new и delete.
Тип VARIANT
Структурный тип VARIANT широко используется для описания и передачи параметров методов интерфейса IDispatch и методов интерфейсов, являющихся производными от IDispatch. Значениями этого типа могут быть самые разные типы данных: от беззнакового однобайтового целого до указателей на указатели на интерфейсы и массивов. Таким образом, VARIANT представляет собой своего рода универсальный тип, используемый, в частности, для совместимости с программным кодом на языке Visual Basic. Описание типа VARIANT приведено в файле oaidl.h в следующем виде: typedef struct tagVARIANT VARIANT; struct tagVARIANT { union { struct __tagVARIANT { VARTYPE vt; WORD wReserved1; WORD wReserved2; WORD wReserved3; union { LONGLONG llval; // VT_I8 LONG lVal; // VT_I4 BYTE bVal; // VT_UI1 SHORT iVal; // VT_I2 FLOAT fltVal; // VT_R4 DOUBLE dblVal; // VT_R8 VARIANT_BOOL boolVal; // VT_BOOL _VARIANT_BOOL bool; SCODE scode; // VT_ERROR CY cyVal; // VT_CY DATE date; // VT_DATE BSTR bstrVal; // VT_BSTR IUnknown * punkVal; // VT_UNKNOWN
IDispatch * pdispVal; //VT_DISPATCH SAFEARRAY * parray; //VT_ARRAY|* BYTE * pbVal; //VT_BYREF|VT_UI1 SHORT * piVal; //VT_BYREF|VT_I2 LONG * plVal; //VT_BYREF|VT_I4 LONGLONG *pllVal; //VT_BYREF|VT_I8 FLOAT *pfltVal; //VT_BYREF|VT_R4 DOUBLE *pdblVal; //VT_BYREF|VT_R8 VARIANT_BOOL *pboolVal; //VT_BYREF|VT_BOOL _VARIANT_BOOL *pbool; SCODE *pscode; //VT_BYREF|VT_ERROR CY *pcyVal; //VT_BYREF|VT_CY DATE *pdate; //VT_BYREF|VT_DATE BSTR *pbstrVal; //VT_BYREF|VT_BSTR IUnknown **ppunkVal; //VT_BYREF|VT_UNKNOWN IDispatch **ppdispVal; //VT_BYREF|VT_DISPATCH SAFEARRAY **pparray; //VT_ARRAY|* VARIANT *pvarVal; //VT_BYREF|VT_VARIANT PVOID *byref; //GenericByRef CHAR cVal; //VT_I1 USHORT uiVal; //VT_UI2 ULONG ulVal; //VT_UI4 ULONGLONG ullVal; //VT_UI8 INT intVal; //VT_INT UINT uintVal; //VT_UINT DECIMAL *pdecVal //VT_BYREF|VT_DECIMAL CHAR *pcVal; //VT_BYREF|VT_I1 USHORT *puiVal; //VT_BYREF|VT_UI2 ULONG *pulVal; //VT_BYREF|VT_UI4 ULONGLONG *pullVal; //VT_BYREF|VT_UI8 INT *pintVal; //VT_BYREF|VT_INT UINT *puintVal; //VT_BYREF|VT_UINT struct__tagBRECORD { PVOID pvRecord; IRecordInfo *pRecInfo; }__VARIANT_NAME_4; }__VARIANT_NAME_3; }__VARIANT_NAME_2; DECIMALdecVal; }__VARIANT_NAME_1; };
Значение, хранящееся в поле vt, указывает на тип данных, хранящихся в варианте (табл. 3). Таблица 3 Трактовка значений поля vt типа VARIANT
В файле Oleauto.h приведены прототипы функций, предназначенных для выполнения различных манипуляций над данными типа VARIANT, например, преобразования типа. К сожалению, в MSDN нет описания этих функций (по крайней мере я их не смог найти). Вместе с тем в MSDN имеются примеры работы с типом VARIANT, в частности, очень полезный пример (проект) Variantuse.
int main() { // Create a table and add a few rows to it. DatabaseClass *db = new DatabaseClass(); db->CreateAndPopulateTable();
BSTR bstr1 = SysAllocString(L"This is a BSTR in a VARIANT."); VARIANT v1; v1.vt = VT_BSTR; v1.bstrVal = bstr1; db->AddRow(&v1);
int i = 42; VARIANT v2; v2.vt = VT_I4; v2.lVal = i; db->AddRow(&v2);
// Now retrieve the rows and display their contents. VARIANT values[MAXCOLS]; int len = db->GetValuesForColumn(L"ObjectCol", values, MAXCOLS); for (int i = 0; i < len; i++) { switch (values[i].vt) { case VT_BSTR: wcout << L"ObjectCol: " << values[i].bstrVal << endl; break; case VT_I4: cout << "ObjectCol: " << values[i].lVal << endl; break; default: break; }
} SysFreeString(bstr1); delete db; return 0; }
Приложения Словарь терминов ActiveForm – активные формы, которые представляют собой композицию элементов управления ActiveX. Реализуются в виде динамически связываемых библиотек DLL, но файлы имеют расширение .ocx, а не .dll. ADO (ActiveX Data Objects – объекты данных ActiveX) – набор компонент и технология, используемая для доступа к БД, поддерживающим спецификацию OLE DB
ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL. Для облегчения построения web-решений используется как ADO.NET Data Services (Astoria), так и связка из Windows Communication Foundation и Windows Presentation Foundation, позволяющая строить многоуровневые приложения, реализуя один из шаблонов проектирования MVC, MVP или MVVM.
ASP – Microsoft® Active Server Pages. ASP представляет собой серверную среду выполнения сценариев, которая может быть использована для создания интерактивных Web-страниц и разработки полновесных Web-приложений. Когда сервер получает ASP-файл, он строит Web-страницу на основе содержащихся в нем сценариев и отправляет ее браузеру. ASP-файлы могут содержать как HTML-код, так и вызовы компонентов COM, которые в свою очередь могут осуществлять связь с БД или выполнять другие операции. ATL – ActiveX Template Library. Библиотека активных шаблонов ActiveX Microsoft, предназначенная для облегчения процесса создания компактных клиент-серверных приложений, использующих COM и ActiveX. Используется при разработке приложений в Microsoft Visual C++. Automation controller (синоним – ActiveX client) – контроллер автоматизации в COM-технологиях. Это клиентское приложение по отношению к серверу автоматизации Automation server, называемому также "объектом автоматизации" или "программируемым компонентом". Язык Visual Basic является типичным примером контролера автоматизации, как утверждается в MSDN. Automation – автоматизация. Основанная на COM технология, которая предоставляет возможность взаимодействия компонентов ActiveX без использования таблиц виртуальных методов (vtable), т.е. вызов методов интерфейсов осуществляется без использования их имен, по "номерам" ID. Прежде называлась OLE Automation. Automation object – экземпляр класса, который предоставляет свои методы и свойства клиентским приложениям посредством интерфейсов автоматизации (Automation interfaces). См. также dispinterface. CGI (Common Gateway Interface – общий шлюзовой интерфейс) – интерфейс прикладного программирования, используемый в Internet. CGI - не язык программирования, а спецификация, определяющая взаимодействие внешней программы создания динамических WWW-документов и HTTP-сервера. CGI-программы создаются на многих языках программирования: Си, Perl, Visual Basic и др. Основной недостаток CGI - необходимость обмена данными между клиентом и сервером, что может вызвать большие временные задержки. Первоначально CGI был разработан NCSA CLX – cross-platform component library (Delphi 6.0) COM (Component Object Model) – модель компонентных объектов Microsoft. Стандартный механизм, включающий интерфейсы, с помощью которых одни объекты предоставляют свои сервисы другим. Является основой многих объектных технологий, в том числе OLE и ActiveX. Другие переводы: многокомпонентная модель объектов. Containment – включение (в технологиях на основе COM - механизм многократного использования при наследовании одним объектом методов другого объекта посредством простого вызова, в отличие от агрегации aggregation). CORBA (Common Object Request Broker Architecture) – технология (спецификация) построения распределенных объектных приложений, предложенная фирмой IBM и разработанная группой компаний OMG. Клиенты взаимодействуют с сервером, используя объекты и интерфейсы. Благодаря тому, что программное ядро CORBA разработано для всех основных аппаратных и программных платформ, эта технология позволяет разрабатывать действительно гетерогенные системы, использующие преимущества каждой платформы. DCE (Distributed Computing Environment) – среда распределенных вычислений (группа функций независимого от платформ промежуточного обеспечения компании Open Software Foundation для организации совместной работы распределенных программ, в частности, функции обслуживания распределенных файлов, присвоения имен, контроля за временем, обслуживания потоков, дистанционного вызова процедур и обеспечения безопасности). См. также раздел OSF Standards for RPC в MSDN. DCOM (Distributed Component Object Model) – распределенная модель компонентных объектов. Расширение модели COM фирмы Microsoft, ориентированное на поддержку и интеграцию распределенных объектных приложений, функционирующих в сети. DDE (Dynamic Data Exchange) – динамический обмен данными. Способ обмена данными между приложениями, который был введен в первых версиях Windows. Dispinterface – диспетчерский интерфейс (диспинтерфейс). Осуществляет доступ к сервисам COM-объектов в Automation технологиях. Heterogeneous system – гетерогенная система, т.е. система, построенная из разнородных элементов. Например, это может быть компьютерная сеть, составленная из компьютеров разных типов. Другой пример – запись (record) можно в принципе считать гетерогенным массивом. H/PC – карманный компьютер (hand-held PC). IDL (Interface Definition Language) – язык описания интерфейсов (используется в COM-технологиях для спецификации интерфейсов объектов COM). In-place activation (активизация на месте) – способ редактирования внедренного документа с запуском приложения непосредственно из контейнера (в OLE технологии). См. также антоним – visual editing. LINQ (Language Integrated Query) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET. Множество концепций, которые вводит LINQ, изначально опробовали в исследовательском проекте Microsoft Cω. LINQ выпущен вместе с Visual Studio 2008 в конце ноября 2007 года. Для быстрого создания и отладки запросов LINQ существует специализированная утилита LINQPad.
MAPI – Messaging Application Programming Interface. Интерфейс прикладного программирования [для] электронной почты (корпорации Microsoft). Marshaling – маршалинг, маршализация. Механизм, который позволяет клиенту получить доступ к объекту, находящемуся в другом процессе или на другом компьютере (невидимо для клиента). В технологии ORPC – процесс упаковки запроса, включая параметры, в стандартный формат, пригодный для передачи по сети. MIDAS (Multitier Distributed Applications Services) – набор сервисов для многозвенных распределенных приложений. Многозвенное приложение – это распределенная система удаленного доступа к данным, которая состоит минимум из трех логических уровней. Технология MIDAS позволяет обрабатывать данные, расположенные на разных машинах. Она также поддерживает Internet-приложения, взаимодействует с технологиями CORBA, COM и MTS. MIDL (Microsoft Interface Definition Language) – Microsoft реализация и расширение языка OSF-DCE Interface Definition Language. MTS (Microsoft Transaction Server). Это среда, которая обеспечивает управление транзакциями, безопасность и объединение ресурсов и объектов в общий фонд (pooling) для распределенных COM приложений. MTS включает в себя целую группу элементов. MSDN (Microsoft Developer’s Network) – собрание документов компании Microsoft, содержащее сведения обо всех ее разработках. NCSA (National Computer Security Association) – Национальная ассоциация по компьютерной безопасности (США). Независимая исследовательская организация, проверяющая и сертифицирующая антивирусные программы и Web-узлы. Переименована в ICSA. .NET Framework — программная платформа компании Microsoft, предназначенная для создания обычных программ и веб-приложений. Главной идеей разработки .NET Framework было стремление сделать платформонезависимую виртуальную машину для выполнения одного и того же кода в различных ОС без внесения изменений на момент компиляции. Но со временем Microsoft ограничилась поддержкой только своих операционных систем Windows. Поддержкой некоторых других платформ занимаются независимые разработчики (проекты Mono, Portable.NET). OCX (OLE Custom eXtension) – специализированные (перемещаемые) элементы управления. Это программируемые компоненты-приложения с интерфейсом на базе OLE, позволяющим легко включать их в другие приложения. С 1996 года они стали называться ActiveX. ODBC (Open Database Connectivity interface) – открытый интерфейс взаимодействия с базами данных. Представляет собой стандартный API, разработанный Microsoft в 1991г. Позволяет приложениям, работающим под Windows или другими ОС, общаться с различными серверами реляционных баз данных. Этот интерфейс поддерживает запросы на языке SQL и базируется на спецификации Call Level Interface Specification, разработанной консорциумом SQL Access Group. ODBC как реализация – это набор библиотек (.DLL), которые служат промежуточным слоем между приложениями и БД различных типов, обеспечивая независимость приложений от конкретных БД. OEM – изготовители оригинального оборудования (original equipment manufacturers). OLE (Object Linking and Embedding) – связывание и внедрение объектов. До 1996 года - общее название группы объектно-ориентированных технологий Microsoft на основе COM (OLE 1, OLE 2, OLE automation, OLE Database и др.). С 1996 года после введения термина ActiveX применяется для обозначения технологий на основе COM, используемых для создания составных документов внедрением и связыванием. OLE DB – спецификация доступа к данным (прежнее название - Nile), разработанная Microsoft. Объединяет ODBC и OLE. OMG (Object Management Group) – рабочая группа по развитию стандартов объектно-ориентированного программирования. OSF (Open Software Foundation) – фонд открытого ПО, консорциум OSF (независимая некоммерческая научно-исследовательская организация, занимающаяся разработкой стандартов для открытых систем). В частности, одним из ее стандартов является язык IDL. PLINQ (Параллельный LINQ) – является параллельной реализацией LINQ to Objects. PLINQ реализует полный набор стандартных операторов запроса LINQ как методы расширения для пространства имен T:System.Linq и имеет дополнительные операторы для параллельных операций. PLINQ объединяет простоту и удобство чтения синтаксиса LINQ с мощностью параллельного программирования. Подобно коду, предназначенному для библиотеки параллельных задач, запросы PLINQ масштабируют в степень параллелизма на основе возможностей главного компьютера. Во многих сценариях PLINQ может значительно увеличить скорость запросов LINQ to Objects, более эффективно используя все доступные ядра на главном компьютере. Повышенная производительность увеличивает вычислительную мощностью на рабочем столе. P/PC – ручной компьютер (palm-size – размером с ладонь). Еще меньше, чем карманный H/PC. Полностью управляется пером и не имеет клавиатуры.
Proxy ("заместитель") – это COM-объект внутри клиентского процесса, предоставляющий клиенту те же интерфейсы, что и объект в локальном сервере, с которым клиент пытается работать. Функцией заместителя является получение вызова от клиентского процесса, его упаковка и отправка в процесс сервера (с помощью механизма RPC). В локальном сервере упакованный вызов передается специализированному объекту – "заглушке" (stub), который распаковывает вызов и передает его требуемому объекту COM. Результат вызова передается клиенту в обратном порядке. RPC (Remote Procedure Call) – удаленный вызов процедуры. Это средство передачи сообщений, которое позволяет распределенному приложению вызывать сервис различных компьютеров в сети. Применяется в распределенных объектных технологиях, таких как DCOM, CORBA, Java RMI. Silverlight — это программная платформа, включающая в себя модуль для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application). Версия 2.0 добавила поддержку для языков .NET и интеграцию с IDE. Silverlight реализована для ОС Windows 2000[3], Windows XP, Windows Server 2003, Windows Vista, Windows 7, Windows 8, Mac OS X 10.4, Mac OS X 10.5, Mac OS X 10.6 и браузеров Internet Explorer, Opera, Mozilla Firefox, Safari, Google Chrome. Silverlight включена в Windows Phone 7, а в будущем также планируется поддержка мобильных устройств, начиная с Windows Mobile 6 и Symbian (Series 60), и, возможно, других платформ. Stub – "заглушка". См. proxy. SSL (Secure Sockets Layer) – слой защищенных сокетов. Протокол, гарантирующий безопасную передачу данных по сети; комбинирует криптографическую систему с открытым ключом и блочное шифрование данных. TAPI – Telephony Application Programming Interface. Интерфейс прикладного программирования (API), используемый программами для передачи данных, факсов и голосовых сообщений (такими программами как НуperTerminal, Dial-up Networking, Phone Dialer и другими коммуникационными приложениями Windows NT). TLB (Type library, type library file) – библиотека типов. Составной документ OLE, содержащий стандартные описания типов данных, модулей и интерфейсов объектов OLE, используемый другими приложениями для получения информации об OLE-сервере (OLE server). Имеет обычно расширение .TLB и не является текстовым файлом. Просмотреть имеющиеся в системе библиотеки типов можно с помощью программы OLE View из Microsoft Visual Studio Tools. Конкретное описание каждой библиотеки можно получить с помощью этой же программы, выбрав тему меню Object=>View для предварительно выбранной библиотеки. Microsoft Word имеет библиотеку .olb.
TPL (Библиотека параллельных задач) – представляет собой набор открытых типов и API-интерфейсов в пространствах имен System.Threading и System.Threading.Tasks в .NET Framework 4. Цель TPL — повышение производительности труда разработчиков за счет упрощения процедуры добавления параллелизма в приложения. TPL динамически масштабирует степень параллелизма для наиболее эффективного использования всех доступных процессоров. Кроме того, в библиотеке параллельных задач осуществляется секционирование работы, планирование потоков в пуле ThreadPool, поддержка отмены, управление состоянием и выполняются другие низкоуровневые задачи. Используя библиотеку параллельных задач, можно повысить производительность кода, сосредоточившись на работе, для которой предназначена программа. Начиная с .NET Framework 4 библиотека параллельных задач является предпочтительным способом создания многопоточного и параллельного кода. Однако не всякий код подходит для параллелизации; например, если цикл за каждую итерацию выполняет небольшой объем работ или выполняется для небольшого числа итераций, из-за дополнительной нагрузки, которую параллелизация оказывает на систему, код может выполняться медленнее. Кроме того, параллелизация, как и любой многопоточный код, усложняет выполнение программы. Хотя библиотека параллельных задач упрощает многопоточные сценарии, рекомендуется иметь базовое понимание понятий потоков, например блокировки, взаимоблокировки и состояния гонки, чтобы эффективно использовать библиотеку параллельных задач. Дополнительные сведения об основных принципах параллельных вычислений см. в Центре разработчиков компьютеров параллельной обработки данных на сайте MSDN. Transaction – транзакция. Это группа операторов SQL, которые должны быть все выполнены успешно. Если эти операторы выполнены, то изменения БД фиксируются; в противном случае эти операции отвергаются. Транзакции являются способом сохранения целостности данных при одновременной работе с сервером нескольких клиентов.
Visual editing (визуальное редактирование) – способ редактирования внедренного документа в отдельном окне с последующим сохранением изменений в документе-контейнере (в OLE технологии). См. также антоним in-place activation. Windows CE – компактная версия Windows, предназначенная в первую очередь для использования изготовителями оригинального оборудования (OEM), а также в карманных (P/PC) и ручных (H/PC – еще меньше) компьютерах. Версия 2.0 выпущена в 1997г. Она уже поддерживает цвет, технологии COM и ActiveX, а также виртуальную машину Java. В отличие от других версий поддерживает множество встраиваемых 32-х разрядных процессоров (а не только Intel и Alpha, как Windows NT). Widget – элемент управления окном, например бегунок или экранная кнопка. Термин Widget является аббревиатурой от слов window и gadget (приспособление) WCS (Windows CardSpace) — ныне отмененное клиентское ПО с патентованной технологией единого входа от Microsoft. WCS — это способ идентификации пользователей при перемещении между ресурсами Интернета без необходимости повторного ввода имен и паролей. В отличие от ранее используемых технологий унифицированной идентификации (например, Microsoft Passport) WCS управляет непосредственно пользователями и приложениями, с которыми устанавливается контакт (а не из централизованного ресурса). Можно применять разные схемы и уровни сложности для идентификации при доступе на Web-форумы и для банковских операций. 15 февраля 2011 корпорация Майкрософт объявила об отмене Windows CardSpace 2.0 и о работе над замещающим ПО U-Prove. WCF (Windows Communication Foundation) — программный фреймворк, используемый для обмена данными между приложениями, входящий в состав .NET Framework. До своего выпуска в декабре 2006 года в составе .NET Framework 3.0, WCF был известен под кодовым именем Indigo. WCF делает возможным построение безопасных и надёжных транзакционных систем через упрощённую унифицированную программную модель межплатформенного взаимодействия. Комбинируя функциональность существующих технологий .NET по разработке распределённых приложений (ASP.NET XML Web Services — ASMX, WSE 3.0, .NET Remoting, .NET Enterprise Services и System.Messaging), WCF предоставляет единую инфраструктуру разработки, при умелом применении повышающую производительность и снижающую затраты на создание безопасных, надёжных и транзакционных Web-служб нового поколения. Заложенные в неё принципы интероперабельности позволяют организовать работу с другими платформами, для чего используются технологии взаимодействия платформ, например WSIT, разрабатываемые на базе открытого исходного кода. WF (Windows Workflow Foundation) – представляет собой технологию компании Microsoft для определения, выполнения и управления рабочими процессами (англ. workflow). Данная технология входит в состав .NET Framework 3.0, который изначально установлен в Windows Vista и может быть установлен в Windows 2003 Server и Windows XP SP2. WF ориентирована на визуальное программирование и использует декларативную модель программирования. При помощи WF могут быть описаны три типа процессов: § последовательный процесс (Sequential Workflow) — переход от одного шага в другой без возвратов обратно; § конечный автомат (State-Machine Workflow) — переход из одного состояния в другое, возможны и произвольные возвраты в предыдущие состояния; § процесс, управляемый правилами (Rules-driven Workflow) — частный случай последовательного процесса, в котором переход на следующий шаг определяется набором правил.
WPF (Windows Presentation Foundation) ― это система следующего поколения (за .NET FrameWork – Windows Forms) для построения клиентских приложений Windows с визуально привлекательными возможностями взаимодействия с пользователем. С помощью WPF можно создавать широкий спектр как автономных, так и размещенных в браузере приложений. В основе WPF лежит векторная система визуализации, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF расширяет базовую систему полным набором функций разработки приложений, в том числе языком XAML (Extensible Application Markup Language), элементами управления, привязкой данных, макетом, двухмерной- и трехмерной-графикой, анимацией, стилями, шаблонами, документами, мультимедиа, текстом и оформлением. WPF входит в состав Microsoft .NET Framework (начиная с версии 3.0) и позволяет создавать приложения, включающие другие элементы библиотеки классов .NET Framework. (http://msdn.microsoft.com/ru-ru/library/aa970268.aspx )
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 420. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |