Delphi Can

Orjinalini görmek için tıklayınız: Unigui Print İşlemi
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba dostlar, sonunda IIS ayarlarını yapılandırarak örnek uygulamamı yayınladım. Localde tüm pclerden programı çalıştırabiliyorum. Print işlemini program yazdığım makinada alabiliyorum.
Kod:
procedure TMainForm.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;
 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;
 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';
 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);
 UniURLFrame1.URL := AUrl;
end;

Kullanımı ;
Kod:
procedure TMainForm.UniBitBtn8Click(Sender: TObject);
begin
PrepareAndShow(frxReport1, frxPDFExport1);
UniURLFrame1.Visible:=true;
end;

Problem şudur ki; uygulamayı diğer makinalarda açtığım zaman 404 - Dosya veya dizin bulunamadı.

Aradığınız kaynak kaldırılmış, adı değiştirilmiş ya da geçici olarak kullanım dışı.


hatasını alıyorum. Yardımlarınızı bekliyorum. Saygılar.
(15-09-2020, Saat: 15:29)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba dostlar, sonunda IIS ayarlarını yapılandırarak örnek uygulamamı yayınladım. Localde tüm pclerden programı çalıştırabiliyorum. Print işlemini program yazdığım makinada alabiliyorum.
Kod:
procedure TMainForm.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;
 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;
 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';
 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);
 UniURLFrame1.URL := AUrl;
end;

Kullanımı ;
Kod:
procedure TMainForm.UniBitBtn8Click(Sender: TObject);
begin
PrepareAndShow(frxReport1, frxPDFExport1);
UniURLFrame1.Visible:=true;
end;

Problem şudur ki; uygulamayı diğer makinalarda açtığım zaman 404 - Dosya veya dizin bulunamadı.

Aradığınız kaynak kaldırılmış, adı değiştirilmiş ya da geçici olarak kullanım dışı.


hatasını alıyorum. Yardımlarınızı bekliyorum. Saygılar.
Merhaba,

Fast report dosyasını ilgili dizine eklememiş siniz. Lokal projenizde yapmışsınız. (*fr3)
Ben Şu şekilde kullanıyorum :


Kod:
procedure TTahakkukPrint.UniFormBeforeShow(Sender: TObject);
var
 FRp : TfrxReport;
 FXp : TfrxPDFExport;
begin
   frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'rapor\TahsilatMakbuzu.fr3');
   PrepareAndShow(frxReport1, frxPDFExport1);
end;


Kod:
procedure TTahakkukPrint.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;

 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;

 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';

 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);

 UniURLFrame1.URL := AUrl;
end;
@apachi2006 ve @KUNTAY  
Lütfen forum kurallarına uyalım... UYARIDIR!
Yazdığınız son yorumu, forum kurallarında belirtildiği şekilde yeniden düzenleyin lütfen.
(15-09-2020, Saat: 15:50)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]Ben Şu şekilde kullanıyorum :


Kod:
procedure TTahakkukPrint.UniFormBeforeShow(Sender: TObject);
var
 FRp : TfrxReport;
 FXp : TfrxPDFExport;
begin
   frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'rapor\TahsilatMakbuzu.fr3');
   PrepareAndShow(frxReport1, frxPDFExport1);
end;


Kod:
procedure TTahakkukPrint.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;

 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;

 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';

 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);

 UniURLFrame1.URL := AUrl;
end;

Hemen deniyorum.

(15-09-2020, Saat: 15:50)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]Ben Şu şekilde kullanıyorum :


Kod:
procedure TTahakkukPrint.UniFormBeforeShow(Sender: TObject);
var
 FRp : TfrxReport;
 FXp : TfrxPDFExport;
begin
   frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'rapor\TahsilatMakbuzu.fr3');
   PrepareAndShow(frxReport1, frxPDFExport1);
end;






Kod:
procedure TTahakkukPrint.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;

 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;

 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';

 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);

 UniURLFrame1.URL := AUrl;
end;

Rapor dosyasının yolu bu şekilde mi olacak C:\test\report
(15-09-2020, Saat: 16:00)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]
(15-09-2020, Saat: 15:50)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]Ben Şu şekilde kullanıyorum :


Kod:
procedure TTahakkukPrint.UniFormBeforeShow(Sender: TObject);
var
 FRp : TfrxReport;
 FXp : TfrxPDFExport;
begin
   frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'rapor\TahsilatMakbuzu.fr3');
   PrepareAndShow(frxReport1, frxPDFExport1);
end;


Kod:
procedure TTahakkukPrint.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;

 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;

 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';

 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);

 UniURLFrame1.URL := AUrl;
end;

Hemen deniyorum.

(15-09-2020, Saat: 15:50)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]Ben Şu şekilde kullanıyorum :


Kod:
procedure TTahakkukPrint.UniFormBeforeShow(Sender: TObject);
var
 FRp : TfrxReport;
 FXp : TfrxPDFExport;
begin
   frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'rapor\TahsilatMakbuzu.fr3');
   PrepareAndShow(frxReport1, frxPDFExport1);
end;






Kod:
procedure TTahakkukPrint.PrepareAndShow(Report: TfrxReport; Exp: TfrxPDFExport);
var
 AUrl : string;
begin
 Report.PrintOptions.ShowDialog := False;
 Report.ShowProgress := false;

 Report.EngineOptions.SilentMode := True;
 Report.EngineOptions.EnableThreadSafe := True;
 Report.EngineOptions.DestroyForms := False;
 Report.EngineOptions.UseGlobalDataSetList := False;

 Exp.Background := True;
 Exp.ShowProgress := False;
 Exp.ShowDialog := False;
 Exp.FileName := UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True);
 Exp.DefaultPath := '';

 Report.PreviewOptions.AllowEdit := False;
 Report.PrepareReport;
 Report.Export(Exp);

 UniURLFrame1.URL := AUrl;
end;

Rapor dosyasının yolu bu şekilde mi olacak C:\test\report

Hayır Unigui files diye bir klasör oluşturuyor uygulama dizininin içerisine ve dosyalarınızı orada tutmanızı istiyor. 
Bende files klasörünün içerisine rapor diye bir klasör açıp içerisine yüklüyorum.
(15-09-2020, Saat: 16:12)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]
(15-09-2020, Saat: 16:00)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]Hemen deniyorum.


Rapor dosyasının yolu bu şekilde mi olacak C:\test\report

Hayır Unigui files diye bir klasör oluşturuyor uygulama dizininin içerisine ve dosyalarınızı orada tutmanızı istiyor. 
Bende files klasörünün içerisine rapor diye bir klasör açıp içerisine yüklüyorum.

Localde çalıştı, ancak IIS de yayınladığım zaman yine aynı hatayla karşılaştım. Raporun bulunduğu dosya yolu bu şekilde. --> C:\inetpub\wwwroot\test\files\report
(15-09-2020, Saat: 16:23)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]
(15-09-2020, Saat: 16:12)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]Hayır Unigui files diye bir klasör oluşturuyor uygulama dizininin içerisine ve dosyalarınızı orada tutmanızı istiyor. 
Bende files klasörünün içerisine rapor diye bir klasör açıp içerisine yüklüyorum.

Localde çalıştı, ancak IIS de yayınladığım zaman yine aynı hatayla karşılaştım. Raporun bulunduğu dosya yolu bu şekilde. --> C:\inetpub\wwwroot\test\files\report

Yolunuz doğru görünüyor kod içerisinde dosyayı şu şekilde göstermeniz gerekiyor 
frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'report\xxx.fr3');
// Kendine göre düzenle kodu eğer yine olmazsa ISS izinlerini kontrol etmende fayda var.
(15-09-2020, Saat: 16:34)KUNTAY Adlı Kullanıcıdan Alıntı: [ -> ]
(15-09-2020, Saat: 16:23)apachi2006 Adlı Kullanıcıdan Alıntı: [ -> ]Localde çalıştı, ancak IIS de yayınladığım zaman yine aynı hatayla karşılaştım. Raporun bulunduğu dosya yolu bu şekilde. --> C:\inetpub\wwwroot\test\files\report

Yolunuz doğru görünüyor kod içerisinde dosyayı şu şekilde göstermeniz gerekiyor 
frxReport1.LoadFromFile(UniServerModule.FilesFolderPath+'report\xxx.fr3');
// Kendine göre düzenle kodu  eğer yine olmazsa ISS izinlerini kontrol etmende fayda var.

Bu kısım dediğin gibi aynı hocam. IIS Yönetim Panelini tekrar gözden geçireyim. Ama yönetim panelinde sıkıntı olsa programın hiç çalışmaması gerekmezmi?

IIS ayarlarında kimlik doğrulama alanından kaynaklanıyormuş. Çözüldü.