none
Python Uygulama İçerisinde .dll Kullanmak RRS feed

  • Genel Tartışma

  • Merhabalar,
    C# .Net 4.5 ile geliştirdiğim bir .dll i yine Visual Studio üzerinde geliştirdiğim Python projesi içerisinde nasıl kullanabilirim? Aşağıdakiler genel cevaplarda bulduğum ve denediğim fakat çalışmayan yöntemler.

    import ctypes
    hllDll = ctypes.WinDLL("C:\\SimpleLib.dll")
    print(hllDll.GetHelloWorld())

     a = ctypes.cdll.LoadLibrary("C:\\SimpleLib.dll")
        print(a.GetHelloWorld())


    17 Ağustos 2016 Çarşamba 08:24

Tüm Yanıtlar

  • Bu win32 unmanaged DLL icin bildigim kadariyla. Onun yerine activex yaparsaniz COM olarak kullanirsiniz, burada Excel.Application ile ornek verilmis.

    Eger sorunuz nasil activex DLL yaparim ise, burada basit bir ornek var. 

     
    17 Ağustos 2016 Çarşamba 13:14
    Yanıtlayıcı
  • Bir iki defa yazıp sildim nasıl anlatacağımı bilemiyorum. Win32 diye bir katman var ve .Net dll leri bunu direk kullanmıyor o yüzden Python un da kullandığı Win32 katmanında geliştirilmiş bir DLL kullanman mümkün. Günümüz teknolojisine çok uzak kalan Win32 katmanında ki bu DLL lerde .Net de ki o süslü püslü kütüphaneler malesef yok. Bir ara uğraşmıştım .Net kütüphanesi COM+ dediğimiz Win32 kütüphanesi gibi kullanılabilir mi diye ama pek başarılı olamadım. Her ne ise gelelim konuya. Python kullanıyorsan bir kaç istisna dışında (mesela MetaTrader uygulamasının apileri için geliştirdiği DLL ler gibi istisnai fikirler dışında) hiç bir işin olmayacak bir şeye bulaşıyorsun demektir. Sadece bir kaç özel yazılım için çalışma yapmanız gerekiyorsa!. Zaten python kendi kütüphaneleri ile günümüz teknolojisini kendi yakalamaya çalışıyor. Python kullanacaksan kendi alt yapısını kullanmanın tadını çıkar yada .Net veya Java gibi framework üzerinde çalışan bir şeyler yaz. Böyle şeyleri bir arada kullanmak mantıklı değil. Bir ara J# redistribute paketleri ile C# içerisinde Java yazıyordum ve dedim ki neden böyle ahmakça birşeye bulaşıyorum ki Netbeans ı açıp java yazmak varken C# içinde java yazmanın manası ne? Başka bir anımda da Delphi de zorlandığım bir konuyu VB de yazıp DLL yapıp Delphi de kullanmıştım, iyimi oldu hayır belki de Delphi bilgim o yüzden VB kadar iyi olamadı. Bence hiç bulaşma birşeyleri ileri götürmek istiyorsan daha çok yazılım desenleri gibi konulara bak, mevcut sistem nere gidiyor onu takip et. Bu tarz şeyler gerçek hayatta ki projelerde pek kullanılmazlar hatta hiç diyebilirim.

    Fullstack Developer

    17 Ağustos 2016 Çarşamba 19:00