Skip to content

C++ ve C# kullanılarak yazılan Windows Copy Board klonu

License

Notifications You must be signed in to change notification settings

fenrirsoftware/Win-Copy-Clone

Repository files navigation

📋 CopyBoard 📋

C# .Net C++

SORUNLAR

  • Sorun 1: Hatalı Dönüş değerleri

    Windows API ile entegrasyon sırasında RAM'e erişimde sorunlar ve boş ya da hatalı veri dönmesi.

  • Sorun 2: C++ ve C# Veri Gösterme Sorunu

    C++'tan gelen veriyi C# WinForm'da gösterirken System.AccessViolationException hatası.

  • Sorun 3: C# Form Tasarımı Sorunu

    Windows tasarımına birebir benzeyen bir C# form tasarımı oluşturmak.

  • Sorun 4: Tasarım Kararları ve WinForm Sınırları

    Border radius ve Glassmorphism tasarımının uygulanması.


ÇÖZÜMLER

  • Çözüm-1:

    Arayüzün kendisinden bir metin kopyaladığımızda verdiği bir hataydı. Bu hatayı çözmek için Arayüz içerisinde bu tür olayların yapılabilmesini kısıtlamamız yeterliydi. Oldukça spesifik bir hatayı basit bir işlem ile çözmemiz diğer sorunlara ayıracak vaktimize kazanç sağladı.

  • Çözüm-2:

    Yapıştırma işlemini başlarda dinliyorduk, çünkü kopyaladığımız metin verisini bir şekilde kullanmamız gerekiyordu. Fakat dinlememize gerek kalmadan kullanabildiğimizi görünce bu sorunu böyle çözdük. Sorunun aslı geçersiz ram adresine ulaşmaya çalışıyor oluşumuzdu.

  • Çözüm-3:

    Bunifu, DevExpress veya diğer üçüncü taraf araçları kullanarak özelleştirilebilir componentler kullanmak ya da kendi komponentlerini oluşturmak (bir adet button özelleştirme paketi projeye dahildir)

  • Çözüm-4:

    Projenin başında biraz Glassmorphism ile çalışmanın faydası olacağını düşünnmüştüm lakin hem ana üründe bu tasarım yoktu hem de çalışma olarak sorunluydu. Bundan kaynaklı olarak Glassmorphismden vazgeçtik. Border Radius için internetteki tüm çözümleri (wpf ve winform) denemenize rağmen asla iyi bir sonuç alamayacaksınız. Her daim yaptığınız border radius pikselli kalacaktır. Bunun çözümü olarak Windows UI apisinden Form border radius özelliği çekildi.


  • Final: Projenin Sonu

Beğendiyseniz "⭐" verebilirsiniz!