Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Linux Delphi 11.2 FMX Ubuntu 18.04 masaüstü uygulama ayarları
#1
Şimdiye kadar forumumuzda pek çok linux bilgisi özellikle de @RAD Coder Fesih hoca ve @Abdullah ILGAZ  tarafından paylaşıldı. Sunucu, konsol ve Lazarus uygulamaları hakkındaki son derece kapsamlı bilgilere ek olarak, Delphi 11.2 ile masaüstü uygulama konusunda çalışmak isteyenler için, topladığım güncel bilgilerle ufak tefek bir katılımda bulunmak istedim. Öncelikle Delphi 11.2 çok gelişmiş. Şirketime esaslı bir uygulama yazıp aldırmaya çalışıyorum, henüz aslını satın alamadığım için "Delphi 11.2 Trial" deneme sürümünü kullandım. https://www.embarcadero.com/products/rad...t-for-free

"Delphi Linux Enterprise" Delphi Enterprise veya Architect sürümlerini gerektiriyor, Community ve Professional'da bulunmuyor. https://www.embarcadero.com/products/del...t-editions  Daha önceden Community yüklediyseniz, lisans çakışmalarından dolayı Linux platformu çıkmıyorsa, önce "C:\ProgramData\Embarcadero", "C:\Program Files (x86)\Embarcadero\Studio\2x.0" ve "C:\Users\Public\Documents\Embarcadero\Studio\2x.0" altındaki eski dosyaları silmek gerekebiliyor. "C:\Windows\System32\drivers\etc\hosts" içinde sunuculara engelleme olmamalı. Tools > Manage Platforms.. > Delphi Linux Enterprise Trial yüklendi ise yanında "Insalled" görünüyor olmalı.

FMXLinux paketi satınalınmış Architect sürümlerinde yüklü geliyor deniliyor. D11.2 trial sürümünde FMXLinux paketi GetIt Package Manager altında çıkmıyor. FMXLinux aslı 345 usd'ye satıldığı için de deneme sürümlerine hiçbir şekilde GetIt paketi yüklenemiyor. Mecburen https://www.fmxlinux.com/ sitesinden "Download Free Trial v 1.71" tıklayıp Delphi kapalıyken "fmxlinux-trial-1_71.exe" yi kurmak gerekiyor. Maalesef uygulama Ubuntu'da derlendikten sonra her açılışta FMXLinux'un deneme sürümü kullanıldığına dair bir pencere çıkıyor ve ana form üzerinde kırmızı renkli silik bir çarpı çıkıyor. Biraz can sıkıcı ama en azından uygulamanızı Lazarus'a taşıma sıkıntısı olmadan kolayca Linux'ta çalıştırabildiğinizi görebiliyorsunuz.

https://docwiki.embarcadero.com/Platform.../Main_Page altında Ubuntu 20.04 LTS, Ubuntu 18.04 LTS, RedHat Enterprise Linux (version 8) sürümlerinin resmi olarak desteklendiği belirtiliyor. Fakat Ubuntu 18.04.0 LTS sürümünün üstünde "Yum" python paket desteği çıkarılmış, Ubuntu artık RedHat'ın başlattığı "yum" paketi yerine kendi paketini "dnf" geliştirmeye karar vermiş. https://unix.stackexchange.com/questions...-on-ubuntu  Ubuntu 18.04.0 LTS yerine 18.04.1, 19, 20 vs. sürümlerini denerseniz "yum" yükleme hatası alıyorsunuz, "yum" olmadan da Delphi Linux SDK dosyaları tam yüklenemiyor. Masaüstü uygulamaları için de "desktop" iso seçilmeli, "server" kurulursa konsol uygulamaları çalışıyor. RedHat Enterprise Linux (version 8) RHEL8 ücretli olup, fiyatı 349 usd'den başladığı için kullanmadım. https://linuxhint.com/redhat_linux_pricing/   Intel işlemcili bilgisayarlar için "AMD" yazmayan iso aramaya lüzum olmayıp, tüm iso'lar Intel'lerde çalışmaktadır. http://cdimage.ubuntu.com/netboot/18.04/   https://askubuntu.com/questions/1033945/...-for-intel
https://old-releases.ubuntu.com/releases/18.04.5/ altından "ubuntu-18.04-desktop-amd64.iso" dosyasını indirin.

AMD Virtualbox sanal makinada "yeni" seçip, geçerli ayarlarla Ubuntu rahatça çalışıyor. AMD işlemcili bilgisayarlarda bile herhangi bir ayar değişikliğine ihtiyaç yok. Settings > Storage > Controller: IDE altında CD için "ubuntu-18.04-desktop-amd64.iso" seçip çalıştırınca Ubuntu 18.04 kurulumu hızlıca yapılıyor. Sabit disk olarak 10 GB ayarlamak yetiyor. Internet için de Network > Adapter 1 > Attached to: Bridged Adapter seçilmelidir. Macos'taki gibi sertifika, kullanıcı ayarları vs. yapmak gerekmiyor.

Ubuntu 18.04 çalıştıktan sonra Yum yükleme, bağlantı (Connection Profile Manager) ve PAServer kurma adımları:
https://docwiki.embarcadero.com/RADStudi...evelopment
Yum yükleme https://low-orbit.net/how-to-install-yum-on-ubuntu
Terminal >
sudo apt update
sudo apt full-upgrade
sudo apt install build-essential
sudo yum install zlib-devel

sudo apt update -y
sudo apt install -y yum-utils

yum deneme:
yum --help (yum list all       yum search nginx         ayrıca etc/yum dizini var mı tetkik edilebilir)

Yum yüklendikten sonra PAServer çalışıyor olmalı:
C:\Program Files (x86)\Embarcadero\Studio\22.0\PAServer\LinuxPAServer22.0.tar.gz dosyasını Ubuntu masaüstüne açılmalı. "PAServer-22.0" dizinini tıklayıp pencere içinde sağ tıklayıp "Open in Terminal" tıklayın.
./paserver
(Enter ile şifre girmeden geçin)
v
i
p

Tools > Options > Environment Options > Connection Profile Manager altında Ubuntu bağlantısı yapılmış olmalı.

Tools > Options > Environment Options > SDK Manager > Add ile Linux SDK yüklenmiş olmalı. Eğer "/usr/include/sys", "/usr/include/x86_64-linux-gnu/sys" vs. bulunamadı hataları veriyorsa "yum" yüklenmemiştir. Ubuntu 18.04.0 LTS sürümünün ve "yum" yüklenmiş olduğuna emin olunuz.


FMX Multi-device application uygulamaları Linux platformunda çalıştırılabilir. Herhangi mevcut bir FMX uygulamanız Linux'a aktarılabiliyor. VCL uygulamalar çalışmıyor.
FMXLinux yüklü ise uygulamanın Projects penceresinde "Target Platforms" sağ tıklayıp "Add Platfrom.." seçince "Linux 64-bit - Ubuntu..." çıkması lazım. "Release" "Linux 64-Bit.." seçip "Run Without Debugging" tıklayınca ilk sefer biraz yavaş derleme yapınca, Ubuntu'da FmxLinux iletisi ve Terminal penceresinde "/home/<kullanıcı adı>/PAServer/scratch-dir/<bağlantı adı>/<Uygulama proje adı>/<Uygulama proje adı> yazacak ve uygulamanız çalışacaktır. Files ile "/home/<kullanıcı adı>/PAServer/scratch-dir/<bağlantı adı>/<Uygulama proje adı> dizinine ulaşıp "Compress" ile zipleyip, uygulamanızı Pardus'a dağıtabiliyorsunuz.

Sadece birkaç yere Windows ve MacOS için {$IF Not (Defined(MACOS) or Defined(LINUX64))} vb. komutlar eklemem gerekti. Ayrıca giriş formu ana formun arkasında kalıyordu. Showmodal ve StayOnTop ayarları ile düzelmedi, açılış formunu açılış sırasından çıkarınca düzeldi. Linux z-order bakımından biraz farklı çalışıyor.

Ayrıca websitesi bağlantıları da biraz uğraştırdı.
uses 
{$ELSEIF Defined(POSIX)}
 Posix.Stdlib;
{$ENDIF}
//...
procedure OpenURL(URL: string);
{$IF Defined(ANDROID)}
var
 Intent: JIntent;
{$ELSEIF Defined(IOS)}
var
 NSU: NSUrl;
{$ENDIF}
begin
{$IF Defined(ANDROID)}
 Intent := TJIntent.Create;
 Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
 Intent.setData(StrToJURI(URL));
 TAndroidhelper.Activity.StartActivity(Intent);
{$ELSEIF Defined(MSWINDOWS)}
 ShellExecute(0, 'OPEN', PWideChar(URL), nil, nil, SW_SHOWNORMAL);
{$ELSEIF Defined(IOS)}
 NSU := StrToNSUrl(TIdURI.URLEncode(URL));
 if SharedApplication.canOpenURL(NSU) then
   SharedApplication.openUrl(NSU)
 else
 begin
   ShowMessage('Hata: "' + URL + '" desteklenmiyor!');
   exit;
 end;
{$ELSEIF Defined(MACOS)}
 _system(PAnsiChar('open ' + AnsiString(URL)));
{$ELSEIF Defined(POSIX)}
 _system(PAnsiChar('xdg-open ' + AnsiString(URL)));
{$ENDIF}
end;

Pardus kurulumu için yine VirtualBox'ta https://www.pardus.org.tr/ sitesinden "Pardus 21.3 GNOME indir" tıklayıp "Pardus-21.3-GNOME-amd64.iso" dosyasını kullanabilirsiniz. Ubuntu'dan zip dosyasını açıp direk olarak uygulamanızı hiçbir ayar yapmadan kullanabiliyorsunuz. Sqlite veritabanı bile hatasız ilk deneme çalıştı.
saygılar mustafa ֍zgün 
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Ubuntu çıktı hatası barissagir 1 231 31-08-2022, Saat: 14:32
Son Yorum: barissagir
  Delphi-Ubuntu Derleme Sorunu turkkartali 1 286 19-08-2022, Saat: 14:31
Son Yorum: turkkartali
  Windows Ubuntu postgresql bağlantı sorunu Bay_Y 5 517 20-06-2022, Saat: 17:47
Son Yorum: Bay_Y
  Linux te Program çalıştırma barissagir 3 573 04-10-2021, Saat: 09:32
Son Yorum: RAD Coder
  Linux 20.04 LTD Apache Module Yukleme Hatası 3ddark 4 1.950 29-07-2020, Saat: 12:54
Son Yorum: 3ddark



Konuyu Okuyanlar: 1 Ziyaretçi