Microsoft Windows uygulama programlamasında, OLE Otomasyonu (daha sonra basitçe Otomasyon olarak yeniden adlandırıldı), Microsoft tarafından oluşturulan süreçler arası bir iletişim mekanizmasıdır. Başlangıçta Visual Basic olan komut dosyası dilleri tarafından kullanılması amaçlanan Bileşen Nesne Modeli'nin (COM) bir alt kümesine dayanmaktadır, ancak şimdi Windows'ta birkaç dil tarafından kullanılmaktadır. IDispatch arabirimini uygulamak için tüm otomasyon nesneleri gereklidir. Otomasyon denetleyicileri adı verilen uygulamaların, diğer uygulamalar tarafından dışa aktarılan paylaşılan otomasyon nesnelerine erişebildiği ve bunları değiştirebildiği (yani özelliklerini ayarlayabildiği veya yöntemleri çağırabildiği) bir altyapı sağlamaktadır. Uygulamaların birbirini kontrol etmesi için daha eski bir mekanizma olan Dinamik Veri Değişimi'nin (DDE) yerini almaktadır. DDE'de olduğu gibi, OLE Otomasyonunda otomasyon denetleyicisi "istemci"dir ve otomasyon nesnelerini dışa aktaran uygulama "sunucu"dur.
Adının aksine, bazı Otomasyon nesneleri OLE ortamlarında kullanılabilse de, otomasyon nesneleri mutlaka Microsoft OLE kullanmaz. Karışıklığın kökleri, daha önce aşağı yukarı COM ile eşanlamlı olan Microsoft'un daha önceki OLE tanımında yatmaktadır.
Avantajlar ve sınırlamalar
Birlikte çalışabilirliği sağlamak için otomasyon arabirimleri, tüm COM türlerinin bir alt kümesini kullanacak şekilde sınırlandırılmıştır. Özellikle, otomasyon arabirimleri, ham COM dizileri yerine SAFEARRAY kullanmalıdır.
Ancak otomasyonla uyumlu COM sunucuları, yerleşik OLE sıralama uygulamasına güvenebilmektedir. Bu, işlem dışı sıralama için ek proxy/saplama projelerine olan ihtiyacı ortadan kaldırmaktadır.
Kullanım şekli
Otomasyon, komut dosyası oluşturma kolaylığı göz önünde bulundurularak tasarlanmıştır. Bu nedenle denetleyiciler genellikle son kullanıcılara Visual Basic for Applications gibi diller sağlayarak, komut dosyaları aracılığıyla otomasyon nesnelerini kontrol etmelerine olanak tanımaktadır. Otomasyon nesneleri genellikle geliştirmeyi basitleştirmek için C++ özniteliklerinin kullanılabileceği C++ gibi geleneksel dillerde yazılmaktadır. Visual Basic ve Borland Delphi gibi diller ayrıca temel uygulamanın karmaşıklığını gizleyen Otomasyon için uygun bir sözdizimi sağlamaktadır.
Tür kitaplıkları
Bir uygulamayı otomatikleştirmek için, bir otomasyon denetleyicisinin geliştiricisi, etkinleştirme nesnelerini dışa aktaran hedef uygulama tarafından kullanılan nesne modelini bilmelidir. Bu, hedef uygulamanın geliştiricisinin nesne modelini herkese açık olarak belgelemesini gerektirmektedir. Hedef uygulamanın nesne modeli bilgisi olmadan otomasyon kontrolörlerinin "zordan imkansıza" geliştirilmesidir. Bu komplikasyonlar nedeniyle, Otomasyon bileşenlerine genellikle sınıflar, arabirimler ve bir nesne kitaplığı tarafından sunulan diğer özellikler hakkında meta veriler içeren tür kitaplıkları sağlanmaktadır. Arayüzler, Microsoft Arayüz Tanımlama Dili'nde açıklanmıştır. Tür kitaplıkları, Microsoft OLE/COM Nesne Görüntüleyici (oleview.exe, Microsoft Platform SDK'nın bir parçası) veya Visual Basic'teki Nesne Tarayıcı (sürüm 6'ya kadar) ve Visual Studio .NET gibi çeşitli araçlar kullanılarak görüntülenebilmektedir. Tür kitaplıkları, COM ile Microsoft .NET ve Java gibi diğer platformlar arasında birlikte çalışmak için Proxy kalıbı/saplama kodu oluşturmak için kullanılmaktadır. Java yerleşik COM desteğinden yoksun olsa da, JACOB ve jSegue gibi araç setleri, tür kitaplıklarından proxy kaynak kodu (iki bölümden, bir dizi Java sınıfından ve bir Java Yerel Arabirim DLL'si için bir C++ kaynağından oluşur) oluşturabilmektedir. Bu çözümler yalnızca Windows'ta çalışmaktadır.
Microsoft, Microsoft Office'teki tüm uygulamaların nesne modelini herkese açık olarak belgelemiştir ve diğer bazı yazılım geliştiriciler de uygulamalarının nesne modellerini belgelemiştir. Nesne modelleri, ODL'de açıklanan arayüzleri ile tip kitaplıkları olarak otomasyon kontrolörlerine sunulmaktadır
Dil desteği
Otomasyon, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere çeşitli diller için mevcuttur:
Ayrıca bakılabilir
- ActiveX
- (OLE)
- (COM)
Ek bilgiler
- Microsoft Corporation (December 1993). OLE 2 Programmer's Reference: Creating Programmable Applications with OLE Automation v. 2. Programmer's Reference Library. . ISBN .
- Kraig Brockschmidt (1995). Inside OLE. .
- Microsoft Corporation (1996). OLE Automation Programmer's Reference. Programmer's Reference Library. . ISBN .
- Microsoft Corporation (1999). Microsoft Office 2000 Visual Basic for Applications Language Reference. . ISBN . — full printed documentation of the object model of Microsoft Office
Ek bağlantılar
- OLE Automation OLE'nin uygulanmasına giriş ve sorunlar hakkında genel makale.
- "VOLE - A Neat C++ COM/Automation Driver 20 Ocak 2018 tarihinde Wayback Machine sitesinde arşivlendi." — IDispatch'i doğrudan çalıştırmanız gerektiğinde kullanım için açık kaynaklı, derleyiciden bağımsız bir C COM Otomasyonu sürücü kitaplığı.
Kaynakça
- ^ Microsoft Corporation. "Automation (MFC)". MSDN. 18 Şubat 2008 tarihinde kaynağından arşivlendi.
- ^ KruJ.; Wingo, Scott; Shepherd, George. "Chapter 25: Automation". Programming Microsoft Visual C++ 6.0 (5.5yıl=1998 bas.). Redmond, WA: . ISBN .
- ^ Gordon McComb (1997). "Using OLE Automation to Control WordPerfect". 15 Ağustos 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Temmuz 2006. — McComb describes how to use OLE Automation instead of DDE to control WordPerfect
- ^ Microsoft MSDN: oleautomation attribute 13 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
- ^ Microsoft MSDN: Automation-Compatible Types 11 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
- ^ Microsoft MSDN: Marshaling Details (COM) Type Library Marshaling community additions 9 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.
- ^ Chris Oakley. "OLE Automation for C++ programmers". 24 Haziran 2012 tarihinde kaynağından arşivlendi.
- ^ MSDN Magazine: C++ Attributes: Make COM Programming a Breeze with New Feature in Visual Studio .NET 19 Ocak 2015 tarihinde Wayback Machine sitesinde arşivlendi.
- ^ a b Yehuda Shiran and Tomer Shiran. "OLE Automation in JavaScript". WebReference. 10 Mayıs 2000 tarihinde kaynağından arşivlendi. — despite the title, the article discusses rather than JavaScript
- ^ Bruce Armstrong (16 Ocak 2006). "OLE — Extending the Capabilities of PowerBuilder (Part 2)". PowerBuilder Developers' Journal. 12 (11). 19 Şubat 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Temmuz 2021.
- ^ "j-Interop Java COM interoperability from any platform". 1 Şubat 2009 tarihinde kaynağından arşivlendi.
- ^ "How to find and use Office object model documentation". KnowledgeBase. Microsoft Corporation. 18 Şubat 2008 tarihinde kaynağından arşivlendi.
- ^ "OLE Delph kullanarak otomasyoni". About.com. 9 Kasım 2005 tarihinde kaynağından arşivlendi.
- ^ Kaynak hatası: Geçersiz
<ref>
etiketi;interop
isimli refler için metin sağlanmadı (Bkz: ) - ^ "Open Object Rexx". 7 Şubat 2005 tarihinde kaynağından arşivlendi.
- ^ Jan Dubois (Yaz 1998). "Win32::OLE". The Perl Journal. 3 (2). 5 Mayıs 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Temmuz 2021.
- ^ The PHP Group (25 Temmuz 2006). "PHP: COM and .Net (Windows)". 27 Ocak 2001 tarihinde kaynağından arşivlendi.
- ^ Mark Hammond. "Python for Windows Extensions". 3 Ağustos 2003 tarihinde kaynağından arşivlendi.
- ^ Sourceforge. "Comtypes Python package". 23 Ekim 2004 tarihinde kaynağından arşivlendi.
- ^ Tcl programmers. "OLE from a Tcl perspective". 15 Haziran 2011 tarihinde kaynağından arşivlendi.
- ^ Stan Littlefield. "OLE TUTORIAL WINBATCH OLE PROGRAMMING". 11 Temmuz 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Nisan 2022.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Microsoft Windows uygulama programlamasinda OLE Otomasyonu daha sonra basitce Otomasyon olarak yeniden adlandirildi Microsoft tarafindan olusturulan surecler arasi bir iletisim mekanizmasidir Baslangicta Visual Basic olan komut dosyasi dilleri tarafindan kullanilmasi amaclanan Bilesen Nesne Modeli nin COM bir alt kumesine dayanmaktadir ancak simdi Windows ta birkac dil tarafindan kullanilmaktadir IDispatch arabirimini uygulamak icin tum otomasyon nesneleri gereklidir Otomasyon denetleyicileri adi verilen uygulamalarin diger uygulamalar tarafindan disa aktarilan paylasilan otomasyon nesnelerine erisebildigi ve bunlari degistirebildigi yani ozelliklerini ayarlayabildigi veya yontemleri cagirabildigi bir altyapi saglamaktadir Uygulamalarin birbirini kontrol etmesi icin daha eski bir mekanizma olan Dinamik Veri Degisimi nin DDE yerini almaktadir DDE de oldugu gibi OLE Otomasyonunda otomasyon denetleyicisi istemci dir ve otomasyon nesnelerini disa aktaran uygulama sunucu dur Adinin aksine bazi Otomasyon nesneleri OLE ortamlarinda kullanilabilse de otomasyon nesneleri mutlaka Microsoft OLE kullanmaz Karisikligin kokleri daha once asagi yukari COM ile esanlamli olan Microsoft un daha onceki OLE taniminda yatmaktadir Avantajlar ve sinirlamalarBirlikte calisabilirligi saglamak icin otomasyon arabirimleri tum COM turlerinin bir alt kumesini kullanacak sekilde sinirlandirilmistir Ozellikle otomasyon arabirimleri ham COM dizileri yerine SAFEARRAY kullanmalidir Ancak otomasyonla uyumlu COM sunuculari yerlesik OLE siralama uygulamasina guvenebilmektedir Bu islem disi siralama icin ek proxy saplama projelerine olan ihtiyaci ortadan kaldirmaktadir Kullanim sekliOtomasyon komut dosyasi olusturma kolayligi goz onunde bulundurularak tasarlanmistir Bu nedenle denetleyiciler genellikle son kullanicilara Visual Basic for Applications gibi diller saglayarak komut dosyalari araciligiyla otomasyon nesnelerini kontrol etmelerine olanak tanimaktadir Otomasyon nesneleri genellikle gelistirmeyi basitlestirmek icin C ozniteliklerinin kullanilabilecegi C gibi geleneksel dillerde yazilmaktadir Visual Basic ve Borland Delphi gibi diller ayrica temel uygulamanin karmasikligini gizleyen Otomasyon icin uygun bir sozdizimi saglamaktadir Tur kitapliklari Bir uygulamayi otomatiklestirmek icin bir otomasyon denetleyicisinin gelistiricisi etkinlestirme nesnelerini disa aktaran hedef uygulama tarafindan kullanilan nesne modelini bilmelidir Bu hedef uygulamanin gelistiricisinin nesne modelini herkese acik olarak belgelemesini gerektirmektedir Hedef uygulamanin nesne modeli bilgisi olmadan otomasyon kontrolorlerinin zordan imkansiza gelistirilmesidir Bu komplikasyonlar nedeniyle Otomasyon bilesenlerine genellikle siniflar arabirimler ve bir nesne kitapligi tarafindan sunulan diger ozellikler hakkinda meta veriler iceren tur kitapliklari saglanmaktadir Arayuzler Microsoft Arayuz Tanimlama Dili nde aciklanmistir Tur kitapliklari Microsoft OLE COM Nesne Goruntuleyici oleview exe Microsoft Platform SDK nin bir parcasi veya Visual Basic teki Nesne Tarayici surum 6 ya kadar ve Visual Studio NET gibi cesitli araclar kullanilarak goruntulenebilmektedir Tur kitapliklari COM ile Microsoft NET ve Java gibi diger platformlar arasinda birlikte calismak icin Proxy kalibi saplama kodu olusturmak icin kullanilmaktadir Java yerlesik COM desteginden yoksun olsa da JACOB ve jSegue gibi arac setleri tur kitapliklarindan proxy kaynak kodu iki bolumden bir dizi Java sinifindan ve bir Java Yerel Arabirim DLL si icin bir C kaynagindan olusur olusturabilmektedir Bu cozumler yalnizca Windows ta calismaktadir Microsoft Microsoft Office teki tum uygulamalarin nesne modelini herkese acik olarak belgelemistir ve diger bazi yazilim gelistiriciler de uygulamalarinin nesne modellerini belgelemistir Nesne modelleri ODL de aciklanan arayuzleri ile tip kitapliklari olarak otomasyon kontrolorlerine sunulmaktadir Dil destegi Otomasyon asagidakiler dahil ancak bunlarla sinirli olmamak uzere cesitli diller icin mevcuttur ABAP C C Visual Basic ve via OleAutoClient class Delphi Microsoft NET dilleri APL Java and VBScript Perl PHP Python Ruby programlama dili TclAyrica bakilabilirActiveX OLE COM Ek bilgilerMicrosoft Corporation December 1993 OLE 2 Programmer s Reference Creating Programmable Applications with OLE Automation v 2 Programmer s Reference Library ISBN 978 1 55615 629 8 Kraig Brockschmidt 1995 Inside OLE Microsoft Corporation 1996 OLE Automation Programmer s Reference Programmer s Reference Library ISBN 978 1 55615 851 3 Microsoft Corporation 1999 Microsoft Office 2000 Visual Basic for Applications Language Reference ISBN 978 1 57231 955 4 full printed documentation of the object model of Microsoft OfficeEk baglantilarOLE Automation OLE nin uygulanmasina giris ve sorunlar hakkinda genel makale VOLE A Neat C COM Automation Driver 20 Ocak 2018 tarihinde Wayback Machine sitesinde arsivlendi IDispatch i dogrudan calistirmaniz gerektiginde kullanim icin acik kaynakli derleyiciden bagimsiz bir C COM Otomasyonu surucu kitapligi Kaynakca Microsoft Corporation Automation MFC MSDN 18 Subat 2008 tarihinde kaynagindan arsivlendi KruJ Wingo Scott Shepherd George Chapter 25 Automation Programming Microsoft Visual C 6 0 5 5yil 1998 bas Redmond WA ISBN 978 1 57231 857 1 Gordon McComb 1997 Using OLE Automation to Control WordPerfect 15 Agustos 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Temmuz 2006 McComb describes how to use OLE Automation instead of DDE to control WordPerfect Microsoft MSDN oleautomation attribute 13 Mart 2016 tarihinde Wayback Machine sitesinde arsivlendi Microsoft MSDN Automation Compatible Types 11 Mart 2016 tarihinde Wayback Machine sitesinde arsivlendi Microsoft MSDN Marshaling Details COM Type Library Marshaling community additions 9 Mart 2016 tarihinde Wayback Machine sitesinde arsivlendi Chris Oakley OLE Automation for C programmers 24 Haziran 2012 tarihinde kaynagindan arsivlendi MSDN Magazine C Attributes Make COM Programming a Breeze with New Feature in Visual Studio NET 19 Ocak 2015 tarihinde Wayback Machine sitesinde arsivlendi a b Yehuda Shiran and Tomer Shiran OLE Automation in JavaScript WebReference 10 Mayis 2000 tarihinde kaynagindan arsivlendi despite the title the article discusses rather than JavaScript Bruce Armstrong 16 Ocak 2006 OLE Extending the Capabilities of PowerBuilder Part 2 PowerBuilder Developers Journal 12 11 19 Subat 2008 tarihinde kaynagindan arsivlendi Erisim tarihi 11 Temmuz 2021 j Interop Java COM interoperability from any platform 1 Subat 2009 tarihinde kaynagindan arsivlendi How to find and use Office object model documentation KnowledgeBase Microsoft Corporation 18 Subat 2008 tarihinde kaynagindan arsivlendi OLE Delph kullanarak otomasyoni About com 9 Kasim 2005 tarihinde kaynagindan arsivlendi Kaynak hatasi Gecersiz lt ref gt etiketi interop isimli refler icin metin saglanmadi Bkz Kaynak gosterme Open Object Rexx 7 Subat 2005 tarihinde kaynagindan arsivlendi Jan Dubois Yaz 1998 Win32 OLE The Perl Journal 3 2 5 Mayis 2021 tarihinde kaynagindan arsivlendi Erisim tarihi 11 Temmuz 2021 The PHP Group 25 Temmuz 2006 PHP COM and Net Windows 27 Ocak 2001 tarihinde kaynagindan arsivlendi Mark Hammond Python for Windows Extensions 3 Agustos 2003 tarihinde kaynagindan arsivlendi Sourceforge Comtypes Python package 23 Ekim 2004 tarihinde kaynagindan arsivlendi Tcl programmers OLE from a Tcl perspective 15 Haziran 2011 tarihinde kaynagindan arsivlendi Stan Littlefield OLE TUTORIAL WINBATCH OLE PROGRAMMING 11 Temmuz 2021 tarihinde kaynagindan arsivlendi Erisim tarihi 5 Nisan 2022