Merhaba unigui projeyi Standalone Server / ISAPI Module oluşturdum uygulamayı exe olarak çalıştırabiliyorum ancak dll olarak (isapi modül) derlemem için
proje dpr sinde ilk satırı açıklama satırı yapıyorum "//" compile ettiğimde dll dosyasını oluşturmuyor bazen win32 klasörünü siliyorum ide kapatıp açıyorum oluşturuyor ilginç tarafı compile ederken exe oluşturuyor delphi içerisinden run etiğimde (Shift+Ctrl+F9)
"Cannot run project unless a host application is defined. Use the Run|Parameters... dialog box." hatası veriyor sanki dll oluşmuş gibi
//{$define UNIGUI_VCL} // Comment out this line to turn this project into an ISAPI module
{$ifndef UNIGUI_VCL}
library
{$else}
program
{$endif}
Bahsettiğiniz şekilde oluşuyor evet.
Exe için yazdığınız kodları bloklayıp DLL için yazdıklarınızı aktif ettiğinizde, projeyi kapatıp açın Compile ve sonrada Build Edin DLL oluşmuş olacaktır.
*Bahsettiğiniz mesaj Dll'i çalıştırmaya çalıştığınızdan kaynaklanıyor. (Yinede DLL oluşmuş olur.)
İyi çalışmalar.
(07-02-2017, Saat: 15:34)pro_imaj Adlı Kullanıcıdan Alıntı: [ -> ]Bahsettiğiniz şekilde oluşuyor evet.
Exe için yazdığınız kodları bloklayıp DLL için yazdıklarınızı aktif ettiğinizde, projeyi kapatıp açın Compile ve sonrada Build Edin DLL oluşmuş olacaktır.
*Bahsettiğiniz mesaj Dll'i çalıştırmaya çalıştığınızdan kaynaklanıyor. (Yinede DLL oluşmuş olur.)
İyi çalışmalar.
Dediğiniz gibi projeyi komple kapatıp açınca düzeliyor az evel göremememdeki sebepte release seçip debugda aramamdan dolayı imiş
@
pro_imaj , Projeyi oluştururken "Standalone / ISAPI Application" seçilmediğini varsayarsak, sadece Standalone EXE şeklinde geliştirilmiş bir uygulamayı sonradan nasıl ISAPI şekline çevirebiliriz ? IntraWEB'de bunu tek bir satır kaldırarak yapabiliyorsun ama UniGui'de nasıl yapıldığını anlayamadım. Bu yapılabiliyor mu ?
Aşağıdaki şekilde dönüşüm sağlayabilirsiniz.
//library ProjeAdi; //DLL İçin
program ProjeAdi; // EXE için
Forms, //EXE için
//uniGUIISAPI, //DLL için
begin // EXE için
Application.Initialize; // EXE için
TUniServerModule.Create(Application); // EXE için
Application.Run; // EXE için
{
exports //DLL İçin
GetExtensionVersion, //DLL İçin
HttpExtensionProc, //DLL İçin
TerminateExtension; //DLL İçin }
Yinede yapamazsanız yazarsanız yardımcı olabilirim.
İyi çalışmalar.
Teşekkürler @
pro_imaj , Halletttim. Aslında IntraWEB'de de böyle olduğu için tahmin etmiştim ama hangilerinin eklenip hangilerinin kaldırılacağı konusunda emin değildim.
Emeğinize sağlık.
bu kapsamda bir soru da ben sormak istiyorum? öncelikle selamlar, isapidll ile exe arasında ne fark var? yani unigui projemizi yaparken hangisini neye göre seçersek faydalı olur? dll olarak yaptığımız mı daha kararlı çalışır? bağlanacak kullanıcı sayısı mı önemli? neye göre isapi dll neye göre s.a.exe yapmalıyım? farkı nedir? teşekkürler
(28-11-2018, Saat: 00:17)mdagli2003 Adlı Kullanıcıdan Alıntı: [ -> ]bu kapsamda bir soru da ben sormak istiyorum? öncelikle selamlar, isapidll ile exe arasında ne fark var? yani unigui projemizi yaparken hangisini neye göre seçersek faydalı olur? dll olarak yaptığımız mı daha kararlı çalışır? bağlanacak kullanıcı sayısı mı önemli? neye göre isapi dll neye göre s.a.exe yapmalıyım? farkı nedir? teşekkürler
Aslında bu soru direk unigui ile ilgili değil konuyu daha iyi anlayabilmek için EXE vs DLL olarak bakılabilir.
Sorunuza link ile cevap verilmiş, çok daha basit bir anlatımla.
Server yeniden başladığında exe yi yeniden çalıştırmalısınız oturum kapatıldığında da bunun dışında bir domaini yönlendirme yaparsanız bunu nasıl yöneteceğiniz konusunda exe tarafında sıkıntı yaşarsınız.
İyi çalışmalar.