
Öner Yazılım & Eğitim
Programlama ipuclarI
C ve Sistem Programcılar Derneği
CsdOs İşletim Sistemi Projesi
Daynex Bilişim Center
Pc Bileşenleri
TapaTipo Komik Oyunlar
Ucretsiz Bilgisayar Dersleri
Online Tutor Services
| .NET Uygulamaları Aykut TAŞDELEN |
|
Save Your Kisses For Me
Fiat Reklam Müzigi
Programlama
Kitaplarını Piyasadan
Çok Daha Ucuza Bulabilirsiniz.

Bu makalede, Visual Studio .NET ortamında kullanılan Crystal Reports uygulamalarının
hedef makinada da çalışabilir hale nasıl getirileceğini inceleyeceğiz.
Crystal Reports Nedir ?
Visual Studio .NET ile birlikte gelen güçlü bir raporlama aracıdır. Projenize kolaylıkla hızlı raporlar entegre edebilir, pdf formatında çıktılar alabilirsiniz. Tabiki bunlarla sınırlı değil. Raporlamayı oldukça kolaylaştıran bu aracın, setup projelerinde tam aksine daha fazla dikkat gerektirir. Hazırladığınız raporların hedef makinada çalışabilmesi için setup projeisine çeşitli araçları eklemeniz gerekecektir.
Crystal Reports Neden Hata Veriyor?
Sıkça sorulan bir soru:
".NET ortamında bir Windows uygulamasında Crystal Reports ile bir rapor oluşturdum. Kendi makinamda çalışıyor ancak setup projesini başka bir makinaya kurduğum zaman şu hatayı veriyor:
"Cannot find KeycodeV2.dll , or invalid keycode".... Ne yapmalıyım? "
Hata mesajından ilk anlaşılan, "keycodev2" adında bir dll var ve uygulamamız bu dll'i göremiyor.
Crystal Reports İpuçları
.NET ortamında Windows yada Web uygulaması geliştirirken kullanılan rapor formları projeye varsayılan olarak "embedded resource" (gömülü kaynak) şeklinde eklenir. Bu ise, raporun assembly'nin içerisinden çağrılacağı, ayrı bir rapor dosyasından (.rpt uzantılı dosya) çağrılmayacağıdır.
Varsayılan gömülü kaynak şeklini değiştirmezsek, bu rapor dosyası proje dışında değiştirilemez. Eğer zaman zaman rapor dosyası üzerinde değişiklik yapmak gerekecekse, eklenen rapor dosyasının "properties" penceresine giderek "Build Action" özelliğini "Embedded Resource"-dan "None" haline getirmemiz gerekir.
Embedded Resource özelliği None olarak tanımlan bir raporun kullanımı için, Reportdocument nesnemizin Load() metonudu kullanmamız gerekecektir. Bu metotla raporun diskteki yeri belirtilir.
.NET 2003 Windows Setup Projesi İçin Gerekenler
Öncelikle, Crystal Reports-aracını register etmemiz gerekecek. Bunun için ayrıca bir ücret talep edilmemektedir. Yapılacak tek şey, rapor formunu açınca gelen register uyarısını dikkate alıp ilgili formu doldurmak ve mail adresinize gelecek olan seri numarasını bu alana girmektir. Seri numarasını kaybetmeyiniz, çünkü Crystal Reports kullandığınız her setup projesinde bu kod lazım olacaktır.
Crystal Reports-u register ettikten sonra, setup projesini açınız. Setup projesinde gerekli output dosyalarının olduğunu varsayarak Crystal Reports için gerekenleri belirteceğim.
Sağ tıklayarak "Add File" -i seçiniz ve "\Program Files\Common Files\Merge Modules\" klasöründen "Crystal_Managed2003.msm" dosyasını seçiniz. Daha sonra, Solution Explorer-da projenizi sağ tıklayınız ve "Add -> Merge Module" seçiniz. Gelen diyalog penceresinden şu dosyaları seçiniz. (Crtl'e basılı tutarak birden fazla seçim yapabildiğnizi hatırlatalım)
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_enu.msm
Crystal_RegWiz2003.msm
Eğer uygulamanızda ADO.NET sınıfların kullandıysanız şunları da ekleyiniz.
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm
"Ok" butonuna basınca bu merge modüller projeye eklenir.Şimdi, Solution Explorer üzerine gelerek "Crystal_RegWiz2003.msm" dosyasını sağ tıklayınız ve Properties penceresi üzerinde "MergeModuleProperties" alanını açarak "License Key" alanına, size gönderilen seri numarasını (19 haneli sayı, aradaki - işaretlerini kaldırmanıza gerek yok) giriniz.
Artık Setup Projenizi Build edebilir, hedef makinalarda istediğiniz raporu çalıştırabilirsiniz.
Kaynak: http://support.businessobjects.com/communityCS/TechnicalPapers/crnet_deployment.pdf
Domain Sorgulama Ekranı