Ynt: Birden fazla program aynı dll'i kullanabilirmi?

Başlatan z, 15 Mayıs 2015, 03:03:08

z

Programlar arası veri aktarımı için aklıma bir dll üzerinden değiş tokuş fikri geldi fakat aynı dll'in birden fazla program tarafından kullanılıp kullanılamayacağını bilemiyorum.

Mümkünmü?


mesaj birleştirme:: 15 Mayıs 2015, 01:45:53

Bir dll yazdım ve içinde Global bir değişken kullandım.

dll fonksiyon çağrıldığında bu değişkeni 1 artırıyor ve değerini döndürüyor.

Bir program yazdım. Formdaki butona tıklandığında bu dll deki fonksiyonu çağırıyor ve ekranda geri dönüş değerini gösteriyor. Haliyle butona basıldıkça ekrandaki sayaç 1-1 artıyor.

Aynı programı ikinci kez çalıştırdığımda o da sorunsuz çalışıyor.  Ancak programda butona bastıkça kendi buton tıklamasını sayıyor. Yani ortak bir değişken saymıyor.

Bu durumda dll üzerinden iki programı haberleştiremeyecekmiyim?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

kutahyaspor

kolayca ortak haberleşme için registry veya üzerine veri yazılabilen (mesela ini dosyası) kullanılabilir.

kodları çalıştırmak için birden fazla dosyada ortak olarak aynı dll kullanılabilir, fakat her programda hafızaya orjinal (ilk haliyle) yüklenir. değişkenleri paylaşmak için kullanılamazlar.

Icarus

tabii ki kullanılabilir. sadece dll deki bir sectionu shared olarak işaretlemek yeterli

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yamak

Hocam programlar arası haberleşme için pipe ı araştırabilirsiniz.

Burak B

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Farukc

Dll (Dinamik bağlı kütüphane) in amacı zaten farklı executable programlar arasında api oluşturmaktır.

ZZombie

Bu DLL i arka planda servis olarak çalıştırıp diğer uygulamaların bu servis üzerinden haberleşmesini sağlar isen çok daha sağlıklı bir sonuç alacağını düşünüyorum.
Neden dersen özellikle server sistemler katı bellek kuralları kullanır ve de senin bir uygulaman kapandığında onunla alakalı tüm her şey bellekten kaldırılır.
Fakat arka plandaki bir servis bu iletişimi görüyor ve de gelen bilgiyi fiziki bir ortamda tutuyorsa çok daha sağlıklı bir sonuç alabilirsin.