Гэр / Интернет / Activex контейнерээр объект үүсгэх боломжгүй. ActiveX удирдлагад зориулсан контейнер үүсгэх. Савны үндсэн функцууд

Activex контейнерээр объект үүсгэх боломжгүй. ActiveX удирдлагад зориулсан контейнер үүсгэх. Савны үндсэн функцууд

Системүүд болон холбогдох бүх . Энэ алдаа нь дараах шалтгаан, шийдэлтэй байна.

    Анги бүртгүүлээгүй байна. Жишээлбэл, системийн бүртгэлд ангийн талаар дурдаагүй, эсвэл анги дурдсан боловч буруу төрлийн файл эсвэл олдохгүй байгаа файлыг зааж өгдөг. Боломжтой бол объектын програмыг эхлүүлнэ үү. Бүртгэлийн мэдээлэл буруу эсвэл хуучирсан тохиолдолд програм нь бүртгэлийг шалгаж, мэдээллийг засах болно. Хэрэв програмыг ажиллуулснаар асуудлыг шийдэж чадахгүй бол програм суулгагчийг дахин ажиллуулна уу;

    Ашиглах боломжгүй DLLОбъект олдоогүй эсвэл эвдэрсэн нь тогтоогдсон тул шаардлагатай. Холбогдох бүх DLL файлууд байгаа эсэхийг шалгаарай. Жишээлбэл, Өгөгдлийн Хандалтын Объект (DAO) нь платформоос хамааран өөр өөр DLL-ийн дэмжлэгийг шаарддаг. Хэрэв энэ нь алдааны шалтгаан бол та тухайн зүйлийн суулгагчийг дахин ажиллуулах хэрэгтэй;

    Энэ объект нь машин дээр байгаа боловч лицензтэй бөгөөд объектыг үүсгэхэд шаардлагатай лиценз байгаа эсэхийг шалгах боломжгүй.

    Зарим объектыг бүрэлдэхүүн хэсэг олсны дараа л үүсгэж болно лицензийн түлхүүрА нь энэ объектыг эхлүүлэхээр бүртгүүлсэн болохыг баталгаажуулдаг энэ компьютер. Хэрэв объектын лавлагаа байгаа бол зөв тохируулсан эсвэл зөв түлхүүрийг автоматаар өгнө.

    Хэрэв жишээ үүсгэх оролдлого нь функцийн дуудлагын үр дүн юм Объект үүсгэхэсвэл GetObject, объект түлхүүрийг олох ёстой. Энэ тохиолдолд энэ нь системийн бүртгэлээс хайх эсвэл хайх боломжтой тусгай файл, үүнийг суулгах явцад үүсгэдэг (жишээлбэл, .LIC өргөтгөлтэй). Хэрэв түлхүүр олдохгүй бол объектыг үүсгэх боломжгүй. Хэрэв эцсийн хэрэглэгч объектын програмыг буруу тохируулсан бол бүрмөсөн устгана хүссэн файлэсвэл системийн бүртгэлийг өөрчилсөн бол объект түлхүүрээ олох боломжгүй болно. Хэрэв түлхүүр олдохгүй бол объектыг үүсгэх боломжгүй. Энэ тохиолдолд инстанци нь хөгжүүлэгчийн систем дээр ажиллах боловч хэрэглэгчийн систем дээр ажиллахгүй. Хэрэглэгч лицензтэй объектыг дахин суулгах ёстой;

    Та get объектын функцийг ашиглахыг оролдож байна GetObject Visual Basic-ээр үүсгэсэн ангийн лавлагаа авах. GetObject Visual Basic-ээр үүсгэсэн ангийн лавлагааг авахад ашиглах боломжгүй;

    Объект руу нэвтрэхийг тодорхой хориглодог. Жишээлбэл, та түгжрэлээс урьдчилан сэргийлэхийн тулд одоо ашиглагдаж байгаа, түгжигдсэн өгөгдлийн объект руу нэвтрэхийг оролдож байна. Энэ тохиолдолд та өөр үед тухайн объектод хандах боломжтой.

Авахын тулд нэмэлт мэдээлэласуух зүйлээ сонгоод F1 (Windows) эсвэл HELP (Macintosh) дээр дарна уу.

Александр Костарев
R-Style Software Lab технологийн хэлтсийн программист.

ActiveX хяналтыг бий болгох нь тусгай ном зохиолд өргөн тусгагдсан байдаг. Гэсэн хэдий ч энэ нь ActiveX контейнеруудыг бичих арга техникийг ихэвчлэн ActiveX объектуудтай харилцах харилцааны нэг хэсэг болгон авч үздэг. Өөр программчлалын интерфэйс (API) -ийг дэмждэг контейнер боловсруулах журамд илүү цөөн тооны нийтлэл зориулагдсан байдаг бөгөөд энэ нь бусад програмууд эсвэл скрипт хэл дээрх тэдгээртэй ажиллах боломжийг олгодог. Ийм савны жишээ бол Microsoft Visual Basic, Borland Delphi гэх мэт програм хангамжийн бүтээгдэхүүнүүд юм.

Гэсэн хэдий ч одоо байгаа савнуудын үндсэн дээр хэд хэдэн ажлыг шийдвэрлэх боломжгүй байдаг - энэ нь хяналтын тусгай савыг шаарддаг. Ийм сорилтуудын нэг бол хөгжүүлэлтийн явцад урьдчилан таамаглах боломжгүй байсан нийтлэг үйлдлүүдийг автоматжуулах боломжийг олгодог өргөтгөх боломжтой програмыг бий болгох явдал юм. Автоматжуулалт нь програм нь объектуудаа гаднаас нь ил гаргаж, өргөтгөл хөгжүүлэх хэрэгсэлтэй нэгтгэхийг шаарддаг. Хэрэглэгчийн интерфэйсийг бий болгох нь ихэнх тохиолдолд янз бүрийн хяналтуудыг ActiveX объектуудын контейнер хэлбэрээр оруулахад суурилдаг. Ийнхүү бүтээл хэрэгсэл ActiveX контейнер үүсгэхийг шаарддаг.

Бүрэлдэхүүн хэсгүүдийн архитектурыг багажийн цогцолборт нэвтрүүлэхэд гарч ирдэг зарим асуудлууд, тэдгээрийг шийдвэрлэх аргуудыг авч үзэх болно. Энэ нь хяналтын контейнер хөгжүүлэгчид болон ActiveX объектуудыг хөгжүүлэгчид хоёуланд нь сонирхолтой байж болох юм, учир нь энэ нийтлэлд програмын зорилго, хэрэглээг харуулсан болно. янз бүрийн аргачингэлэг талын хяналтын стандарт интерфэйсүүд.

Санал болгож буй шийдлүүд нь шинэ RS-Forms хэрэгслийн цогцолборыг хөгжүүлэх туршлага дээр үндэслэсэн болно програм хангамжийн бүтээгдэхүүн R-Style програм хангамжийн лаборатори. RS-Forms нь хөгжүүлэлтийн хэрэгслийг агуулдаг GUIхэрэглэгч асаалттай Windows платформ, RSL*, C, C++ хэлийг ашиглан бүтээгдсэн программуудын гүйцэтгэх орчин, мөн RSL программуудад дибаг хийх систем.

*Object RSL - програмчлалын хэл өндөр түвшин, R-Style програм хангамжийн лаборатори бүтээсэн. Дэлгэрэнгүйг http://www.softlab.ru/products/rsl/ сайтаас авна уу. - Анхаарна уу. ed.

Төслийн хүрээнд маягт зохион бүтээгчийн анхны хувилбарыг хэрэгжүүлсэн (Зураг 1) нь маягт үүсгэх, стандарт удирдлага болон дурын ActiveX объектуудыг хоёуланг нь оруулах, хадгалах боломжийг олгодог. бэлэн хэлбэрүүдбайнгын хадгалах зөөгч дээр хадгалах ба түүнээс ачаалах. Дизайнерын тусламжтайгаар та маягтанд суулгагдсан аливаа хяналтын элементийн шинж чанар, арга, үйл явдлыг харах, өмчийн утгыг өөрчлөх боломжтой.

Дизайнер нь дээр дурдсан функцийг хангадаг ActiveX хяналтын контейнер (маягт) дээр суурилдаг. Үүнээс гадна, маягт нь дэмждэг янз бүрийн сонголтуудтүүний танилцуулгын тохиргоо, үүнд суулгагдсан элементүүдийг хил хязгаартай холбох, тэдгээрийг тойрч гарах дарааллыг гараар хянах, харагдах байдал, үсгийн болон үсгийн хэмжээ, дэвсгэр өнгө, текст гэх мэт.

Дизайнер нь график хэрэглэгчийн интерфэйсийг хөгжүүлэхээс гадна C++ болон RSL хэл дээр автоматаар код үүсгэх механизмтай байдаг. Дизайнер дээрх маягт дээр гүйцэтгэсэн бүх үйлдлүүд нь програмын кодоос ажиллах горимд бас боломжтой гэдгийг анхаарах нь чухал юм.

Цагаан будаа. 1. Маягтын зохион бүтээгч.

Дизайнераар бүтээгдсэн график хэлбэрүүдямар ч C/C++ программ, түүнчлэн Visual Basic эсвэл RSL гэх мэт скрипт хэл дээр ашиглах боломжтой. MFC номын сантай хамтран боловсруулсан C++ програмуудад маягтуудыг ашиглах үед дизайнерыг харилцах цонхны нөөц засварлагч болгон ашиглаж болно.

Одоо контейнер барих тухай ойлголт болон ActiveX удирдлагатай ажиллах зарчмуудын талаар ярилцъя.

Савны үндсэн функцууд

Аливаа хяналтын контейнер нь ActiveX объектуудыг үүсгэх, тэдгээрийн зөв ажиллагааг хангах, тэдгээрийг устгах боломжтой функцтэй байх ёстой. санамсаргүй хандалт санах ой, түүнчлэн объектын дэлгүүрт байгаа зүйлсийг байнгын хадгалах хэрэгсэл дээр хадгалах ба түүнээс ачаалах*. Сав нь стандартыг хангадаг хэд хэдэн бүрэлдэхүүн хэсгүүдийг агуулдаг (Зураг 2). Майкрософт технологи ActiveX) удирдлага зөв ажиллахад шаардлагатай функцууд.

* COM объектуудын контейнер, сервер барих ерөнхий асуудлуудыг Д.Чаппелийн "ActiveX ба OLE Technologies" номонд авч үзсэн болно - М .: "Орос хэвлэл", 1997 он.

Контейнер нь ActiveX удирдлагатай холболтын объектуудын цуглуулгыг (жишээ нь жагсаалт) хадгалдаг, нэг удирдлагад нэг холболтын объект. Нэмж дурдахад, програмчлагдсан сав нь энэ цуглуулгын элементүүдийг удирдах стандарт механизмыг хангах ёстой.

Хяналтын сайтын объект нь савтай харгалзах элементийн зөв харилцан үйлчлэлийг хариуцдаг. Холболтын объект бүр нь контейнерт хамаарах шинж чанар, арга, үйл явдлын багц бүхий хяналтыг өргөтгөх дэд объектыг агуулдаг. Ийм дэд объектыг өргөтгөсөн удирдлага гэж нэрлэдэг. Өргөтгөсөн шинж чанаруудын жишээ нь нэр (Нэр), чингэлэг дэх байршил (Өргөн, Зүүн) гэх мэт. Заасан багцууд нь системийн хэрэглэгчдэд яг ийм харагддаг ч бие даасан хяналт биш харин савны шинж чанарууд юм. Өргөтгөсөн хяналтыг хэрэгжүүлэх хэд хэдэн сонголт байдаг. Жишээлбэл, энэ нь харилцаа холбооны объектын дэд объект (Зураг 2-ыг үз) эсвэл анхны хяналтыг нэгтгэсэн бодит COM объект байж болно. Сонголт бүр өөрийн гэсэн давуу болон сул талуудтай. Энэ нийтлэлд бид зөвхөн эхний аргыг авч үзэх болно.

Өргөтгөсөн хяналт бүр нь холбогдох удирдлагаасаа үйл явдал шингээх объектыг дэд объект болгон агуулна (Зураг 2). Үүний үүрэг нь хүлээн авсан үйл явдлуудыг анхдагч тодорхойлох (захиалгат үйл явдлын боловсруулалт шаардлагатай эсэхээс үл хамааран), шаардлагатай бол тэдгээрийг эзэмшигчийн объект руу шилжүүлэх (өргөтгөсөн хяналт) бөгөөд энэ нь контейнерийн объектын шатлалын дагуу үйл явдлыг чиглүүлэх боломжийг олгодог.

Хяналт үүсгэх скрипт

Контейнерт удирдлага оруулах нь ActiveX объект үүсгэх, түүнийг эхлүүлэх, идэвхжүүлэх гэсэн гурван үе шатаас бүрдэнэ.

CoCreateInstance гэх мэт стандарт COM функцуудыг ашиглан контейнерийн хаягийн зайд хяналтуудыг үүсгэнэ. Харгалзах дэлхийн цорын ганц CLSID нь удирдлагын ID болгон функцэд шилждэг. Контейнер нь систем дэх COM объектуудыг тодорхойлох янз бүрийн хувилбаруудыг дэмжих ёстой гэдгийг тэмдэглэх нь зүйтэй - жишээлбэл, програмын танигч ProgID, мөр хэлбэрийн өвөрмөц анги танигч гэх мэт.

Эхлэх үе шатны гол зорилго нь IOleObject::SetClientSite функцээр дамжуулан удирдлага руу холболтын объектын IOleClientSite интерфейс рүү заагч дамжуулж, IPersistStreamInit::InitNew эсвэл IPersistStreamInit::Load функцийг дуудах (объект байгаа эсэхээс хамаарна) юм. агуулахаас ачаалагдсан эсэх). Объектыг IOleClientSite интерфейс рүү заагчаар дамжуулах нь ачаалах/эхлүүлэхээс өмнө эсвэл дараа нь тохиолдож болно; дамжуулах мөчийг OLEMISC_SETCLIENTSITEFIRST (IOleObject::GetMiscStatus) шинж чанараар тодорхойлно. Энэ нь чухал ач холбогдолтой, учир нь дамжуулагч заагч нь хяналт нь тухайн савнаас орчны шинж чанарын утгыг ямар үед хүлээн авахыг тодорхойлдог. Хэрэв энэ функцийг үл тоомсорловол ActiveX объектын цаашдын ажиллагаа буруу байж магадгүй юм.

Дараа нь авч үзсэн үе шатны хүрээнд та үүсгэсэн ActiveX объектыг нөхөх өргөтгөсөн удирдлагын шинж чанаруудын анхны тохиргоог хийх хэрэгтэй. Жишээлбэл, та объектын нэрийг зөв тохируулах хэрэгтэй (сав доторх хяналтыг таних боломжийг олгодог Name шинж чанарыг эхлүүлэх). Програмчлагдсан саванд суулгасан аливаа хяналт нь энэ шинж чанарыг дэмжих ёстой, гэхдээ энэ нь контейнерийн өмч хэвээр байна. Ихэнхдээ, анхдагчаар объектуудад харьяалагдах ангийнхаа богино нэрийг (энэ нэрийг USERCLASSTYPE_SHORT параметрийн IOleObject::GetUserType аргаар буцаадаг) оноож, хяналтын нэрсийг шалгахын тулд тоон индекс нэмдэг. сав нь өвөрмөц юм. Хүлээн авбал заасан нэрбүтэлгүйтсэн, эсвэл савны логикийг хангахгүй байвал зохих индексээр урьдчилан тодорхойлсон нэрийг өгч болно.

Хяналтыг идэвхжүүлэх нь тодорхой дараалсан үйлдлүүдийг агуулдаг. Эхний алхам бол контейнер (хяналтын сайт) дахь холбоос объект руу ActiveX объектын буцах холбоосыг бий болгох явдал юм. Үүнийг хийхийн тулд IOleObject::Advise аргыг дуудаж, IAdviseSink холболтын объектын стандарт интерфейс рүү заагчийг параметр болгон дамжуулдаг. Дараа нь та IViewObject гэр бүлийн интерфэйсийг зөв хүсэх хэрэгтэй (тодорхойлолтын дагуу ActiveX объект нь өв залгамжлалын шатлалд байгаа IViewObject, IViewObject2, IViewObjectEx интерфэйсүүдийг дэмжих боломжтой) мөн IViewObject руу залгаж санал хүсэлтээ өгөх хэрэгтэй: SetAdvise арга нь IAdviseSink руу заагч дамжуулдаг. Нэмж дурдахад, та удирдлагад контейнерийнхээ нэрийг хэлэх хэрэгтэй (үүнийг IOleObject::SetHostName аргыг дуудах замаар гүйцэтгэдэг), ActiveX объекттой зөв ажиллахад шаардлагатай бүх интерфейсийг (хамгийн багадаа IOleInPlaceObject болон IOleControl) хүсч, хадгалах хэрэгтэй. Удирдлагыг нүдээр харуулахын тулд хийх хамгийн сүүлчийн зүйл бол OLEIVERB_INPLACEACTIVATE параметрээр IOleObject::DoVerb* функцийг дуудах явдал юм.

*ATL хэрэгжилтийн хувьд энэ функц нь бусад зүйлсийн дотор ердийн (цонхтой) удирдлагад зориулсан цонх үүсгэх үүрэгтэй.

Устгах скриптийг хянах

Саванд суулгасан удирдлагыг санах ойноос хасахын тулд та түүнд тохирох удирдлагатай холбогдох объектыг цуглуулгаас хасч, дараалсан хоёр үйлдлийг гүйцэтгэх хэрэгтэй: завсарлага. санал хүсэлтмөн ActiveX объектын интерфэйсүүдэд хадгалагдсан заагчуудыг чөлөөлөх.

Буцах холбоосыг эвдэхийн тулд та эхлээд устгаж буй элементэд холбоосын объектын IAdviseSink интерфэйс дээр байгаа заагчийг (IUnknown::Release аргыг дуудаж) суллах шаардлагатайг мэдэгдэх ёстой. Үүнийг хийхийн тулд IViewObject::SetAdvise аргуудыг (NULL-г аргумент болгон дамжуулах) болон IOleObject::Unadvise гэж нэрлэдэг бөгөөд үүнийг идэвхжүүлэх үе шатанд хадгалсан харилцаа танигчаар хангах шаардлагатай. Дараа нь та ActiveX объектыг идэвхгүй болгох процедурыг идэвхжүүлэх хэрэгтэй (IOleObject::Close функцийг дуудаж). Дараагийн алхам бол NULL параметрээр IOleObject::SetClientSite руу залгаж IOleClientSite интерфейсийн заагчийг чөлөөлөхийг удирдлагад хэлэх явдал юм.

Хадгалсан заагчуудыг удирдах интерфэйсүүдийг гаргах үе шат нь тэдгээр дээр Release аргыг нэг нэгээр нь дуудах явдал юм. Сүүлчийн заагчийг суллах үед объект (COM технологийн дагуу) RAM-аас устгагдах болно.

Скриптийг хадгалах ба ачаалах

Сүүлчийн төрлөөс үл хамааран контейнерийн объектыг хадгалахад хадгалах нь савны шинж чанарууд (орчны шинж чанарууд гэх мэт) болон суулгагдсан удирдлагын цуглуулга, тухайлбал, объект бүрийн ID болон шинж чанаруудыг (өргөтгөсөн зүйлсийг оруулаад) хадгалах явдал юм. цуглуулгад хамаарна. Удирдлагын танигч нь CLSID ангиллын дэлхий дахины өвөрмөц танигч байж болно. Энэ нь эхлүүлэх шатанд шаардлагатай ActiveX объектыг үүсгэж, заасан танигчийн дараа дэлгүүрт агуулагдах өгөгдлөөр ачаалах боломжийг олгоно. Удирдлагын шинж чанарыг, жишээлбэл, урсгал руу хадгалахын тулд IPersistStreamInit стандарт ActiveX объектын интерфэйсийн Save аргыг дууддаг. Ачаалахын тулд ижил интерфейсийн Load аргыг дуудна.

Энэхүү хадгалах процедур нь контейнерийн объектыг дараа нь хадгалалтаас сэргээдэг. Хадгалахаас эхлээд ачаалах хүртэл хувилбарын өөрчлөлт, системээс хяналтыг устгаагүй тохиолдолд тайлбарласан арга нь сайн ажилладаг. Хадгалсан ActiveX удирдлага суулгаагүй эсвэл бүртгэгдээгүй байгаа мэдээллийн санг нэг компьютерээс нөгөөд шилжүүлэх үед ийм нөхцөл байдал ихэвчлэн үүсдэг. Энэ тохиолдолд агуулахаас контейнерийн объектыг ачаалах нь програмыг бүрэн зогсоох, эсвэл бүхэлд нь савыг ачаалахад алдаа гаргах болно. Алдаа гарахаас урьдчилан сэргийлэхийн тулд янз бүрийн хяналтын өгөгдлийн хоорондох хил хязгаарыг тодорхой тогтоож, объект танигчийн дараа хадгалсан мэдээллийн хэмжээг хадгалахад бичих шаардлагатай. Энэ нь ачааллын үе шатыг ActiveX объект бүрийн өгөгдлийн эхэнд үнэн зөв байрлуулах, мөн системд бүртгэгдээгүй хяналтуудыг алгасах, харин контейнерийн объектыг бүхэлд нь ачаалах боломжийг олгоно.

ActiveX объект цуглуулах интерфейс

Стандартын дагуу хяналтын контейнер нь түүнд суулгагдсан ActiveX объектуудын хоорондын харилцан үйлчлэлийг хангах ёстой. Үүнийг хийхийн тулд та IOleContainer интерфейсийг дэмжих ёстой бөгөөд энэ нь түүнд оруулсан бүх хяналтыг тоолох боломжийг олгодог. Хэрэв өргөтгөсөн удирдлага байгаа бол тооллого нь үндсэн объектын интерфэйсүүдийг бус өөрийн IUnknown интерфэйсүүдээр дамжих ёстой.

Автоматжуулалтын үйлчлүүлэгчдэд цуглуулгад хандах боломжийг олгохын тулд объект цуглуулгын стандарт интерфэйсийг ашиглана уу. Стандарт цуглуулгад Add, Remove, Clear, Item аргууд болон _NewEnum болон Count шинж чанарууд багтсан бөгөөд тэдгээр нь элементүүдийн иж бүрэн давталтыг хангадаг. Жишээ нь, Visual Basic бүтэц бүрийн хувьд элементүүдийг тоолохдоо _NewEnum шинж чанарыг ашигладаг бол дараагийн бүтэц нь Count шинж чанар болон Item аргыг ашигладаг. Object RSL дээр стандарт ActiveX объектын CreateEnum аргыг дуудах үед _NewEnum шинж чанарыг ашигладаг. Үүнийг жишээ нь, заасан аргыг ашиглан програмд ​​нээгдсэн файлуудын нэрийг хэвлэдэг RSL програмаар дүрсэлсэн болно. Microsoft Excel(түүний текстийг доор өгөв).

rslx импортлох; ob = ActiveX("Excel.Application", null, үнэн); en = ob.Workbooks.CreateEnum; while (en.next) println(en.item.Name) төгсгөл;

Дээрх хувилбарууд нь контейнерт хяналт нэмэх, түүнээс хасах функцүүдийг боловсруулах боломжийг танд олгоно. Ихэнх тохиолдолд нэмэх функц нь удирдлагатай (ажиллах шаардлагатай ActiveX объектын интерфэйсүүдийн бүх заагчийг хадгалдаг) холбоос объектыг үүсгэж, үүн дээр ижил төстэй функцийг дууддаг. Сүүлийнх нь дээр дурдсан хэрэгжүүлэх хувилбарыг (магадгүй идэвхжүүлэх үе шатгүйгээр) хэрэгжүүлдэг. Хэрэв RAM-д ActiveX объектыг бүтээх нь амжилттай болсон бол контейнер функц нь цуглуулгад харгалзах холбоосын объектыг нэмдэг. Ихэнхдээ ижил төстэй байдлаас шалтгаалан хяналтыг дэлгүүрээс оруулах, ачаалах журмыг нэгтгэдэг.

* * *

Бид энд хяналтын сав барихтай холбоотой гол асуудлуудыг авч үзсэн: тарилга хийх, нүдээр харуулах, ActiveX объектыг хадгалах, ачаалах, мөн RAM-аас зөв устгах. Гэсэн хэдий ч график ажлын орчинг бүрдүүлэх явцад бид өгөгдсөн автоматжуулалтын интерфейс, суулгаж болох ActiveX объектуудын дэд хэсэг, өргөтгөсөн хяналтын шинж чанарууд, арга, үйл явдлуудын багц, өөр хоорондоо ялгаатай хэд хэдэн контейнеруудыг хэрэгжүүлэх шаардлагатай болсон. гэх мэт. Үүний тулд янз бүрийн савны элементүүдийг үүсгэх, ATL номын сантай сайн нэгтгэх боломжийг олгодог загварыг санал болгосон. -аас тусгаар тогтнол тусгай интерфэйсүүдпараметрүүд нь эдгээр интерфэйсүүд болох загвар ангиудыг ашиглах замаар хүрдэг.

*Жишээ нь, Tab удирдлага нь ерөнхий зориулалтын сав болох өмчийн хуудасны контейнер юм.

Энэ загвар нь төрөл бүрийн ActiveX объектуудын үндсэн хувилбаруудыг хурдан үүсгэх боломжийг олгодог бөгөөд тэдгээрт агуулагдах "контейнер логик" байдаг. Нэмж дурдахад хэрэгжсэн дэд бүтэц нь хяналтгүй савыг бий болгох боломжийг олгодог. Ийм савыг байрлуулж болно Windows цонхнуудхөгжүүлж буй програмын аль ч хэсэгт, дараа нь зохих мессеж илгээх замаар түүнд янз бүрийн хяналтыг хэрэгжүүлнэ.

Үр дүн нь чингэлэг барихад нэлээд уян хатан архитектур бөгөөд үүний тусламжтайгаар та өргөтгөл хийх Wizard (Wizard) үүсгэж болно. функциональ байдал Microsoft Visual Studio орчин нь савны араг яс үүсгэх механизм.


Хэрэв та компьютерийн үйлчилгээний мэргэжлийн биш бол алдаа 800A01AD алдааг арилгахын тулд Windows бүртгэлийг гараар засварлахыг зөвлөдөггүй. Бүртгэлийг засах явцад гаргасан алдаа нь таны компьютерийг ашиглах боломжгүй болгож, нөхөж баршгүй хохирол учруулж болзошгүй юм. үйлдлийн систем. Үнэн хэрэгтээ, буруу газар ганц таслал ч таны компьютерийг ачаалахаас сэргийлж чадна!

Ийм эрсдэлтэй тул бид WinThruster [Татаж авах] (Microsoft Gold Certified Partner-ээс боловсруулсан) гэх мэт итгэмжлэгдсэн бүртгэл цэвэрлэгчийг ашиглан аливаа алдааг 800A01AD сканнердаж, засахыг зөвлөж байна. [Татаж авах] Бүртгэл цэвэрлэгчийг ашигласнаар та эвдэрсэн бүртгэлийн оруулгууд, алга болсон файлын лавлагаа (таны %%error_name%%) алдаа, бүртгэл доторх эвдэрсэн холбоосыг олох үйл явцыг автоматжуулж болно. Скан хийх бүрийн өмнө автоматаар үүсгэсэн нөөц хуулбар, энэ нь танд нэг товшилтоор аливаа өөрчлөлтийг буцаах боломжийг олгож, таны компьютерийг гэмтээхээс хамгаална. Хамгийн сайн тал нь [Татаж авах] бүртгэлийн алдааг засснаар системийн хурд болон гүйцэтгэлийг эрс сайжруулдаг.


Анхааруулга:Хэрэв та компьютерийн дэвшилтэт хэрэглэгч биш бол бид Windows Бүртгэлийг гараар засварлахыг зөвлөдөггүй. Бүртгэлийн редакторыг буруу ашиглах нь ноцтой асуудал үүсгэж, шаардлагатай цонхыг дахин суулгаж байна. Бүртгэлийн засварлагчийг буруугаар ашигласны улмаас үүссэн асуудлууд шийдэгдэх болно гэдэгт бид баталгаа өгөхгүй. Бүртгэлийн засварлагчийг та өөрийн эрсдэлд ашиглах болно.

Гараар сэргээхээс өмнө Windows бүртгэл, та 800A01AD алдаатай холбоотой бүртгэлийн хэсгийг экспортлох замаар нөөцлөлт үүсгэх хэрэгтэй (жишээлбэл, ActiveX):

  1. Товчлуур дээр дарна уу Эхлэх.
  2. оруулах" тушаалхайлтын талбар... ОДОО БИТГИЙ ДАР ENTER!
  3. Түлхүүрийг барьж байна CTRL-Shiftгар дээр дарна уу ENTER.
  4. Хандалтын цонх гарч ирнэ.
  5. дарна уу Тиймээ.
  6. Хар хайрцаг нь анивчих курсороор нээгдэнэ.
  7. оруулах" regedit"болон дарна уу ENTER.
  8. Бүртгэлийн засварлагчаас нөөцлөхийг хүсч буй 800A01AD алдаатай холбоотой түлхүүрийг (жишээ нь ActiveX) сонгоно уу.
  9. Цэс дээр Файлсонгох Экспорт.
  10. Жагсаалтад орсон Хадгалах ActiveX түлхүүрийн нөөц хуулбарыг хадгалахыг хүссэн хавтасаа сонгоно уу.
  11. Талбайд Файлын нэр"ActiveX Backup" гэх мэт нөөц файлын нэрийг оруулна уу.
  12. Талбайг шалгаарай Экспортын хүрээутга сонгосон Сонгосон салбар.
  13. дарна уу Хадгалах.
  14. Файл хадгалагдах болно reg өргөтгөлтэй.
  15. Та одоо ActiveX-тэй холбоотой бүртгэлийн бүртгэлийнхээ нөөцлөлттэй байна.

Бүртгэлийг гараар засварлах дараагийн алхмуудыг энэ нийтлэлд авч үзэхгүй, учир нь энэ нь таны системийг гэмтээж болзошгүй юм. Хэрэв та бүртгэлийг гараар засварлах талаар дэлгэрэнгүй мэдээлэл авахыг хүсвэл доорх холбоосыг үзнэ үү.