Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi
Ön Sipariş Talebinde Bulunan Üyelerimiz
Sipariş Talebinde Bulunan Üyelerimiz

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Exe - Bpl
#1
Merhaba,

Düşünce:
Güncelleme sistemi ile uğraşıyorum, exe boyutu büyük olduğu için kullanıcılara kolaylık olsun diye exemizin yanına ihtiyacı olduğu bplleri koyup güncelleme
yaptığımızda her seferinde (60-70mb indirme) yapmamasını sağlamak. Böylelikle yapılan güncellemeler çok seri bir biçimde yapılmış olacak güncelleme seri olunca
versiyon yükseltmekte daha güzel olacak.


Yapılmak istenen:
Delphi exe içerisine gömülü bpl'leri ayırıp exe yi derledikten sonra exe'nin ihtiyacı olan bplleri bir klasöre depolamak.


Bulunanlar:
- Project - Options - Packages - Runtime Packages  - Link with runtime packages 'i tiklediğimiz zaman delphi bpl dosyalarını exe'nin içerisine gömmüyor.
- GExperts - PE(Portable Execute) Information yardımı ile exe nin ihtiyacı olduğu bpl'leri listeleyebiliyoruz.
- Tool - Options - Delphi Options - Library -Package output directory -> $(BDSCOMMONDIR) bu klasör bütün kullanılan bpllerimi içeriyor?


Bu konuda bilgisi olan var ise 
nasıl bir yol izlemeliyim o dosyalara nasıl ulaşırım. düşünce , anahtar kelime vb herşey olur.

Teşekkürler
Cevapla
#2
Aşağı yukarı bütün meseleyi çözmüşsünüz sanırım. Bazı noktaların açığa kavuşması açısından paket için ayrıca bir kurulum mu dağıtılacak yoksa sadece tek exe olarak mı indirilecek. Paketi ayrı, exe yi ayrı olarak verecekseniz, program kendisini .exe yi indirerek güncelleyebilir ama tek .exe olarak verecekseniz kullanıcı internetten bir indirici .exe indirsin ve bunu çalıştırınca asıl .exe ve program için gerekli .bpl yi ayrıca indirip ayarlaması gerekmektedir. Tavsiyem .bpl ve .exe dosyalarıızın aynı klasörde bulunmaları yönünde olması gerektiğidir. Bu dosyalar System32 (SysWOW64) klasöründe olsa da çalışır ama ne olur ne olmaz siz .exe ile aynı yerde tutun bunları. Bir de çalışan .exe dosyaların isimlerini RenameFile fonksiyonu ile değiştirebiliyorsunuz. Kısacası güncelleme yaparken çalışan exe olsa bile önce internetten güncel exe yi farklı isimde kayıt etmeyi bitirdikten sonra çalışan .exe nin ismini değiştirmeniz ve indirilen exe ye normal exe adını vererek güncelleme işlemini tamamlayabilirsiniz. Tabi bu işlem bitince bir uyarı verebilirsiniz ve her exe açılışında eski exe leri tarayıp silmeniz gerekmektedir.
Cevapla
#3
Biz bu yöntemi kullanıyoruz. Link with runtime packages dediğiniz yerde yer alan paketleri exeye dahil etmiyor , yazmadığınız paketler varsa onları dahil ediyor.
BPL ler farklı yerde olabilir , component menüsü altındaki install package ekranından bpl nin nerde olduğunu tespit edebilirsiniz.
Gerekli olan bpl dosyalarının tespiti için sanırım GEXpert tarzı bir araç kullanmıştık , başka araçlarda vardı.

artıları ve eksiklerine gelirsek

artilari
1- güncelleme paketinin boyutu önemli ölçüde azalıyor

eksileri
1-projeyi üst bir delphi sürümüne geçirmek biraz daha zor oluyor. eski bpl dosyalarını yenileriyle değiştirmeniz gerekiyor.
WWW
Cevapla
#4
Hocam exe güncelleme işini hallettim. o sağlıklı çalışıyor.
Ben projenin ihtiyaç duydugu bütün bpl dosyalarını nereden temin edeceğim.
x.bpl lazım onun ilişkili y.bpl var onuda almam lazım
Cevapla
#5
(05-11-2018, Saat: 14:03)malitutuncu Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHocam exe güncelleme işini hallettim. o sağlıklı çalışıyor.
Ben projenin ihtiyaç duydugu bütün bpl dosyalarını nereden temin edeceğim.
Tool - Options - Delphi Options - Library -Package output directory -> $(BDSCOMMONDIR) bu adresteki bpl leri atsam exe nin yanına çalışır mı?

Merhaba,
Bpl dosyaları da tıpkı dll gibidir. Import etmeniz gerekecektir.
Üçüncü bir boyut (sorun); Embarcadero bpl dosyalarının son kullanıcıların bilgisayarına dağıtılmasındaki yasal boyut.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
(05-11-2018, Saat: 14:03)malitutuncu Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHocam exe güncelleme işini hallettim. o sağlıklı çalışıyor.
Ben projenin ihtiyaç duydugu bütün bpl dosyalarını nereden temin edeceğim.
Tool - Options - Delphi Options - Library -Package output directory -> $(BDSCOMMONDIR) bu adresteki bpl leri atsam exe nin yanına çalışır mı?

Merhaba,
Bpl dosyaları da tıpkı dll gibidir. Import etmeniz gerekecektir. Herhangi bir dizine atılıp, kullanıcı ortam değişkeni ile referans verilebilir. Ya da Windows klasörüne kopyalanabilir.
Üçüncü bir boyut (sorun); Embarcadero bpl dosyalarının son kullanıcıların bilgisayarına dağıtılmasındaki yasal boyut.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#7
(05-11-2018, Saat: 14:12)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(05-11-2018, Saat: 14:03)malitutuncu Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHocam exe güncelleme işini hallettim. o sağlıklı çalışıyor.
Ben projenin ihtiyaç duydugu bütün bpl dosyalarını nereden temin edeceğim.
Tool - Options - Delphi Options - Library -Package output directory -> $(BDSCOMMONDIR) bu adresteki bpl leri atsam exe nin yanına çalışır mı?

Merhaba,
Bpl dosyaları da tıpkı dll gibidir. Import etmeniz gerekecektir. Herhangi bir dizine atılıp, kullanıcı ortam değişkeni ile referans verilebilir. Ya da Windows klasörüne kopyalanabilir.
Üçüncü bir boyut (sorun); Embarcadero bpl dosyalarının son kullanıcıların bilgisayarına dağıtılmasındaki yasal boyut.

Anladım hocam.
Release modunda bpl dosyaları ayrı derleyebiliyorsak  ,yasal olarak bir problem oluşturacağını düşünmüyorum. Değilse o seçenek release moduna koymazlardı diye düşünmekteyim
Ve
sizce bpl leri ayırmak mantıklımı bize performansta bir problem yaşatır mı ?
Teşekkürler
Cevapla
#8
(05-11-2018, Saat: 14:12)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBpl dosyaları da tıpkı dll gibidir. Import etmeniz gerekecektir.

herhangi bir şey import etmeye gerek yok , bpl dosyası varsa kendisi otomatik olarak yükleyip çalışmaya devam ediyor.

bpl dosyalarının nasıl bulunacağı ise çok sorun olan birşey değil , en kötü sanal bir makineye temiz bir windows yüklenir , exe çalıştırılır , hangi dosya eksik diyorsa o dosyalar temin edilerek exe nin yanına kopyalanır.

Required v7.1

REQUIRED lists every Delphi or C++Builder package required by the (command-line specified) package, scanning recursive required packages for additional dependencies as well. When calling REQUIRED without arguments, all packages in the current directory are analysed, and for each package all required packages are shown.
New is the option -q to run REQUIRED in quiet mode, without the need to press Enter to close the report (in case you redirect it to a file).


Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#9
Delphi 3 veya Delphi5 ile birlikte gelen InstallShield adında setup hazırlama yazılımı vardı. Setup hazırlama kısmında kendisi exe yi çalıştırıp ihtiyaç duyduğu sistem bileşenlerini kurulum yönergelerine ekliyordu. (Hangi bileşenlere ihtaycımız olduğu görüp kuruluma dahil ediyordu). Muhtemelen install shield in güncel sürümünde veya inno setup tarzı setup hazırlama programlarından gerekli olan bileşenlerin tespitinde faydalanabilirsiniz. Temel mantık setup hazırlama programının exeyi kendisinin çalıştırıp, gerekli sistem bileşenlerini tespit etme özelliğini kullanmak. Bu özellik hala varsa tabi Smile
Birde Runtime create edilen formlarda kullanılan bileşenlerin bpl lerinde nasıl davranır test etmek gerekir.
Cevapla
#10
Şuan askıya aldım hocam eski haliyle exe guncelleyerek devam edeceğim

Şayet bpl dosyalarını temin etsem bile bu sefer delphi de ve delphiye bağlı kompanentlerde (unidac, devexpress vs) gibi yeni versiyonu çıktığında Bpl dosyalarını güncellemek gerekecek vs gibi sorunlardan dolayı şuanlık böyle devam edeceğiz

Cevap yazan arkadaşlara teşekkürler
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi