Hoşgeldin, Ziyaretçi
Sitemizden yararlanabilmek için Kayıt olmalısınız.

Kullanıcı Adınız:
  

Şifreniz:
  





Forumda Ara

(Gelişmiş Arama)

Forum İstatistikleri
» Toplam Üyeler: 2.540
» Son Üye: nikkis2108
» Toplam Konular: 4.435
» Toplam Yorumlar: 35.831

Detaylı İstatistikler

Son Aktiviteler
Runtime TPanel Arkaplanın...
Forum: Genel Programlama
Son Yorum:

mrmarman
22 dakika önce
» Yorumlar: 1
» Okunma: 17
IOS Smilator DEBUG
Forum: Mobil Platform - FireMonkey (FMX)
Son Yorum:

Fesih ARSLAN
55 dakika önce
» Yorumlar: 3
» Okunma: 32
OrangeUI 1.79 for Delphi ...
Forum: Diğer Konular
Son Yorum:

Halil Han Badem
59 dakika önce
» Yorumlar: 0
» Okunma: 9
Forum hatası yeniden dön...
Forum: Görüş & Öneri ve Yorum
Son Yorum:

guverdik
1 saat önce
» Yorumlar: 7
» Okunma: 136
text to speech in turkış
Forum: Mobil Platform - FireMonkey (FMX)
Son Yorum:

gbg
4 saat önce
» Yorumlar: 5
» Okunma: 149
Tapatalk Mobil Uygulamamı...
Forum: Diğer Konular
Son Yorum:

Mr.Developer
4 saat önce
» Yorumlar: 3
» Okunma: 108
Yeni Emojiler!
Forum: Diğer Konular
Son Yorum:

Halil Han Badem
Bugün, Saat: 02:35
» Yorumlar: 0
» Okunma: 51
DataGenerator
Forum: FireBird
Son Yorum:

Aktolgali
Bugün, Saat: 01:43
» Yorumlar: 0
» Okunma: 40
Delphi 10.3 Rest Debugger...
Forum: Genel Programlama
Son Yorum:

varyemez
Bugün, Saat: 01:36
» Yorumlar: 4
» Okunma: 119
#4 USCO API ile SERİ PORT...
Forum: Gömülü Sistemler
Son Yorum:

guverdik
Bugün, Saat: 01:23
» Yorumlar: 0
» Okunma: 45

 
  Cloudinary Image Upload Tool ( Forum image boyutlandırma opsiyonlu )
Yazar: mrmarman - 28-05-2020, Saat: 23:03 - Forum: Proje Fikirleri ve Proje Tanıtım - Yorumlar (14)

Foruma eklenecek resimler konusunda kendi kullanımım için hazırladığım yardımcı bir toolu paylaşayım dedim. 

  • "REST ile nasıl dosya gönderilir" 
  • "Cloudinary.com'dan açılan hesapta dosya göndermek için API Preset ve API Cloud Name nasıl alınır?" 
    ...konularını @SimaWB 'nin açtığı konuda bulabilirsiniz. bkz. DelphiCan linki

Bu paylaştığım tool bünyesinde : 
  • Gönderilen dosyaların kaydını tutmak
  • Gönderilen dosyaların dilediğiniz zaman copy/paste ile Uri, Path bilgilerini tek tıklamayla almak.
  • DelphiCan forumda küçültülmüş önizleme ile üzerine tıklayınca tam boyutunun yeni pencerede görüntülenebildiği boyutlandırma özelliği mevcuttur.
Tool'un form boyutunu değiştirerek yanı başındaki resmin de canlı olarak ölçekli olarak yeniden boyutlandığını görebilirsiniz.
Delphican forumda görmek istediğiniz boyutlandırma bu şekilde sizin tarafınızdan otomatik yapılmaktatır.

Küçültülmüş boyuttan memnunsanız "Image Link Generator" butonu ile de ilgili resim linkinin yeniden ölçeklendirilmiş halinin linki oluşturulmaktadır. 

Üretilen bu linki direkt DelphiCan "Gelişmiş Mesaj Arayüzü" modunda metin olarak yapıştırmanız kafidir. Mesaj penceresindeki "resim ekle" butonuna basmaya gerek yoktur. Kopyala / yapıştır yapılır yapılmaz resim, ayarladığınız boyutta karşınıza gelir.
     
örneğin bu şekil

kk4bzsapmckanfhremvq.png


Kullanımı :
  • ZIP paketini bir klasöre açınız. (portable tek dosya)
  • İlk çalıştırdığınızda göreceğiniz iki adet check box'a ayrı ayrı basarak Cloudinary.com sitesindeki anonim hesabınızın 
         API "Preset"      API "Cloud Name"  
  • bilgileri istenecektir. Bunları aynı klasörde oluşturulan INI dosyasına kaydedecek bir daha sormayacaktır. 
  • Artık dosya yüklemeye hazır. 
Bilgi güvenliği gereği özel fotoğraflarınızın olduğu değil, sadece forumda paylaşacağınız resimler için önem derecesi düşük profilli bir hesap açmanız kafidir.  Idea  


JmLWGxI.gif

image_Image_Upload.php



Projenin bir CloudinaryUploader ismindeki unit altında hazırladığım sınıf tarafını da sizin için buradan paylaşayım. 
Projenin ana motoru bu aşağıdakidir, main form sadece kullanıcı arayüzüdür.

Benzerini kendisi üretmek isteyenler olabilir, kolaylık sağlaması dileklerimle.

unit CloudinaryUploader;

interface

Uses  System.Classes, System.SysUtils, System.JSON, System.UITypes, StdCtrls,
     REST.Client, REST.Types,
     Vcl.Clipbrd,  Vcl.Dialogs, Vcl.ExtDlgs,
     Vcl.Graphics, Vcl.Imaging.JPEG, Vcl.Imaging.PNGImage, Vcl.Imaging.GIFImg;

type
 TSentResult = Record
   success, failed : Integer;
 end;
type
 PImageRec = ^TImageRec;
 TImageRec = Record
   FileName      : String;
   Width, Height : Integer;
   Uri           : String;
 end;
 PImageArray = Array of PImageRec;

type
 TCloudinaryHelper = class (TObject)
 private
   Const
     FAPI_resource_Type  = 'image';
   var
     FSelectedImageList  : PImageArray;
     FGlobalImageList    : PImageArray;
     FAPI_UnsignedUpload_Preset  : String;
     FAPI_cloud_Name             : String;

   procedure   ClearList( var aList: PImageArray );
   procedure   AddSentImagesToGlobal;
   function    GetSelectedImage( index: Integer ): TImageRec;
   function    GetSelectedImageCount : Integer;
   function    GetGlobalImage(index: Integer): TImageRec;
   function    GetGlobalImageCount : Integer;
 public
   constructor Create;
   destructor  Destroy; override;
   property    API_UnsignedUpload_Preset : string read FAPI_UnsignedUpload_Preset write FAPI_UnsignedUpload_Preset;
   property    API_cloud_Name            : string read FAPI_cloud_Name write FAPI_cloud_Name;
   property    SelectedImages[index: integer] : TImageRec read GetSelectedImage;
   property    SelectedImageCount        : integer   read GetSelectedImageCount;
   property    AllImageCount             : integer   read GetGlobalImageCount;
   property    AllImages[index: integer] : TImageRec read GetGlobalImage;
   procedure   SaveListAllImages( aFileName: String );
   procedure   SaveListSelectedImages( aFileName: String );
   procedure   LoadListAllImages( aFileName: String );
   procedure   LoadListSelectedImages( aFileName: String );
   function    DoSelectImages: boolean;
   function    DoSendImages : TSentResult;
   procedure   MsgDlg( aMsg: String );
 end;

var
 xCloudinary : TCloudinaryHelper;

implementation

{ TCloudinaryHelper }

constructor TCloudinaryHelper.Create;
begin
 inherited;

end;

destructor TCloudinaryHelper.Destroy;
begin
 ClearList(FSelectedImageList);
 ClearList(FGlobalImageList);
 inherited;
end;


function TCloudinaryHelper.GetSelectedImage(index: Integer): TImageRec;
begin
 Result.FileName := FSelectedImageList[index].FileName;
 Result.Width    := FSelectedImageList[index].Width;
 Result.Height   := FSelectedImageList[index].Height;
 Result.Uri      := FSelectedImageList[index].Uri;
end;

function TCloudinaryHelper.GetSelectedImageCount: Integer;
begin
 Result := High(FSelectedImageList)+1;
end;

function TCloudinaryHelper.GetGlobalImage(index: Integer): TImageRec;
begin
 Result.FileName := FGlobalImageList[index].FileName;
 Result.Width    := FGlobalImageList[index].Width;
 Result.Height   := FGlobalImageList[index].Height;
 Result.Uri      := FGlobalImageList[index].Uri;
end;

function TCloudinaryHelper.GetGlobalImageCount: Integer;
begin
 Result := High(FGlobalImageList)+1;
end;

procedure TCloudinaryHelper.AddSentImagesToGlobal;
var
 i: Integer;
begin
 if high(FSelectedImageList) < 0 then Exit;

 for i := Low(FSelectedImageList) to High(FSelectedImageList) do begin
   if FSelectedImageList[i].Uri <> '' then begin
     if High(FGlobalImageList) < 0 then SetLength(FGlobalImageList ,1) else SetLength(FGlobalImageList ,High(FGlobalImageList)+2);
     new( FGlobalImageList[ High(FGlobalImageList) ] );
     FGlobalImageList[High(FGlobalImageList)].FileName := FSelectedImageList[i].FileName;
     FGlobalImageList[High(FGlobalImageList)].Width    := FSelectedImageList[i].Width;
     FGlobalImageList[High(FGlobalImageList)].Height   := FSelectedImageList[i].Height;
     FGlobalImageList[High(FGlobalImageList)].Uri      := FSelectedImageList[i].Uri;
   end;
 end;
end;

procedure TCloudinaryHelper.ClearList( var aList: PImageArray );
var
 i: Integer;
begin
 if high(aList) < 0  then exit;
 for i := Low(aList) to High(aList) do
   Dispose(  aList[i] );
 Finalize( aList );
end;

procedure TCloudinaryHelper.SaveListAllImages(aFileName: String);
var
 i : Integer;
begin
 if High(FGlobalImageList) < 0 then exit;

 With TStringList.Create do try
   for i := Low(FGlobalImageList) to High(FGlobalImageList) do begin
     add( Format( '%s|%s|%s|%s|%s', [
           ExtractFileName( FGlobalImageList[i].FileName )
         , FGlobalImageList[i].Width.ToString
         , FGlobalImageList[i].Height.ToString
         , ExtractFilePath( FGlobalImageList[i].FileName )
         , FGlobalImageList[i].Uri
      ] ) );
   end;
   SaveToFile( aFileName );
 finally
   free;
 end;
end;

procedure TCloudinaryHelper.SaveListSelectedImages(aFileName: String);
var
 i : Integer;
begin
 if High(FSelectedImageList) < 0 then exit;

 With TStringList.Create do try
   for i := Low(FSelectedImageList) to High(FSelectedImageList) do begin
     add( Format( '%s|%s|%s|%s|%s', [
           ExtractFileName( FSelectedImageList[i].FileName )
         , FSelectedImageList[i].Width.ToString
         , FSelectedImageList[i].Height.ToString
         , ExtractFilePath( FSelectedImageList[i].FileName )
         , FSelectedImageList[i].Uri
      ] ) );
   end;
   SaveToFile( aFileName );
 finally
   free;
 end;
end;

procedure TCloudinaryHelper.LoadListAllImages(aFileName: String);
var
 i : Integer;
 aList, aDelim : TStringList;
begin
 ClearList( FGlobalImageList );
 aList   := TStringList.Create;
 aDelim  := TStringList.Create;
 try
   aList.LoadFromFile(aFileName);
   aDelim.Delimiter := '|';
   aDelim.StrictDelimiter := True;

   for i := 0 to pred(aList.Count) do begin
     aDelim.DelimitedText := aList[i];
     if High(FGlobalImageList) < 0 then SetLength(FGlobalImageList ,1) else SetLength(FGlobalImageList ,High(FGlobalImageList)+2);
     new( FGlobalImageList[ High(FGlobalImageList) ] );
       FGlobalImageList[ High(FGlobalImageList) ].FileName := aDelim[3] + aDelim[0];
       if aDelim[1] <> '' then
         FGlobalImageList[ High(FGlobalImageList) ].Width  := aDelim[1].ToInteger;
       if aDelim[2] <> '' then
         FGlobalImageList[ High(FGlobalImageList) ].Height := aDelim[2].ToInteger;

       FGlobalImageList[ High(FGlobalImageList) ].Uri    := aDelim[4];
   end;
 finally
   aDelim.free;
   aList.Free;
 end;
end;

procedure TCloudinaryHelper.LoadListSelectedImages(aFileName: String);
var
 i : Integer;
 aList, aDelim : TStringList;
begin
 ClearList( FSelectedImageList );
 aList   := TStringList.Create;
 aDelim  := TStringList.Create;
 try
   aList.LoadFromFile(aFileName);
   aDelim.Delimiter := '|';
   aDelim.StrictDelimiter := True;

   for i := 0 to pred(aList.Count) do begin
     aDelim.DelimitedText := aList[i];
     if High(FSelectedImageList) < 0 then SetLength(FSelectedImageList ,1) else SetLength(FSelectedImageList ,High(FSelectedImageList)+2);
     new( FSelectedImageList[ High(FSelectedImageList) ] );
       FSelectedImageList[ High(FSelectedImageList) ].FileName := aDelim[3] + aDelim[0];
       if aDelim[1] <> '' then
         FSelectedImageList[ High(FSelectedImageList) ].Width  := aDelim[1].ToInteger;
       if aDelim[2] <> '' then
         FSelectedImageList[ High(FSelectedImageList) ].Height := aDelim[2].ToInteger;

       FSelectedImageList[ High(FSelectedImageList) ].Uri    := aDelim[4];
   end;
 finally
   aDelim.free;
   aList.Free;
 end;
end;

procedure TCloudinaryHelper.MsgDlg(aMsg: String);
var
 i: Integer;
 aFormWidth : Integer;
begin
 with CreateMessageDialog(aMsg, mtInformation, [mbOk], mbOk) do
 try
   Width := 300; //TLabel(Controls[i]).Width * 2;
   aFormWidth := Width;

   for i := 0 to ControlCount - 1 do begin
     if Controls[i] is TLabel then
     begin
       with Controls[i] as TLabel do
       begin
         Font.Name := 'Courier New';
         Font.Size := 10;
         AutoSize  := True;
         WordWrap  := False;
         aFormWidth := Width * 2;
       end;
     end;

     if Controls[i] is TButton then
     begin
       Controls[i].Left := (aFormWidth - Controls[i].Width) div 2;
     end;
   end;
   Width := aFormWidth;
   ShowModal;
 finally
   Free;
 end;
end;

function TCloudinaryHelper.DoSelectImages: boolean;
var
 i : Integer;
begin
 Result := False;
 With Vcl.ExtDlgs.TOpenPictureDialog.Create(nil) do
 begin
   Options := [ Vcl.Dialogs.ofAllowMultiSelect ];
   Filter  := ''
            + 'JPEG    Images (*.JPG)|*.jpg|'
            + 'Bitmap  Images (*.BMP)|*.bmp|'
            + 'GIF       Images (*.GIF)|*.gif|'
            + 'PNG     Images (*.PNG)|*.png|'
            + 'Tümü (*.JPG, *.BMP, *.PNG, *.GIF)|*.jpg;*.bmp;*.png;*.gif|';
   FilterIndex := 4;
   if Execute then
   begin
     ClearList( FSelectedImageList );
     SetLength( FSelectedImageList, Files.count );
     for i := 0 to pred(Files.Count) do begin
       new( FSelectedImageList[i] );
       FSelectedImageList[i].FileName := Files[i];
     end;
     Result := True;
   end;
 end;
end;

function TCloudinaryHelper.DoSendImages: TSentResult;
var
 RCli    : REST.Client.TRESTClient;
 RReq    : REST.Client.TRESTRequest;
 RRes    : REST.Client.TRESTResponse;

 jValue  : SYSTEM.Json.TJSONValue;
 i, successCount, failedcount : Integer;
 API_Upload_BaseUrl : String;
begin
                    // 'https://api.cloudinary.com/v1_1/<cloud name>/<resource_type>/upload';
 API_Upload_BaseUrl := 'https://api.cloudinary.com/v1_1/'+ FAPI_cloud_Name+'/'+ FAPI_resource_Type+'/upload';
 Result := Default(TSentResult);
 if high(FSelectedImageList) < 0  then exit;
 RCli  := REST.Client.TRESTClient.Create( '' );
 RRes  := REST.Client.TRESTResponse.Create( nil );
 RReq  := REST.Client.TRESTRequest.Create ( nil );
 Try
   RCli.BaseURL  := API_Upload_BaseUrl;
   RReq.Method   := REST.Types.rmPOST;
   RReq.Client   := RCli;
   RReq.Response := RRes;
   RReq.Timeout  := 10000;

   successCount  := 0;
   failedcount   := 0;
   for i := Low(FSelectedImageList) to High(FSelectedImageList) do begin
     RReq.Params.Clear;
     RReq.AddParameter('n/a', 'n/a');
     RReq.AddParameter('upload_preset', API_UnsignedUpload_Preset );
     RReq.AddParameter('file', FSelectedImageList[i].FileName, REST.Types.TRESTRequestParameterKind.pkFILE );
     RReq.Execute;

     if RRes.Status.SuccessOK_200 then
     begin
       jValue   := RRes.JSONValue;
       FSelectedImageList[i].Uri := jValue.GetValue<String>('url');
       inc(successCount);

    // *** ListView Section ***
       With TPicture.Create do
       try
         LoadFromFile( FSelectedImageList[i].FileName );
         FSelectedImageList[i].Width   := Width;
         FSelectedImageList[i].Height  := Height;
       finally
         free;
       end;
    // ***
     end else inc(failedcount);
   end; //for
   AddSentImagesToGlobal();
   Result.success := successcount;
   Result.failed  := failedcount;
 finally
   RRes.Free;
   RReq.Free;
   RCli.Free;
 end;
end;

initialization
 xCloudinary := TCloudinaryHelper.Create;

finalization
 FreeAndNil(xCloudinary);

end.

Bu konuyu yazdır

  FMX Ram Kullanım problemi
Yazar: tabikisura10 - 28-05-2020, Saat: 21:35 - Forum: Genel Programlama - Yorumlar (5)

Merhaba.
C++ builder windows için uygulama geliştiriyorum.
bir kaç gün önce fmx liste sorunları için konu açmiştim. https://www.delphican.com/showthread.php?tid=4853
@mrmarman teşekkür ederim yardımcı oldu.

yanlız fark ettim. VCL kullandığım zaman aynı kodlar ile 200 tane checbox oluşturuyorum max 5mb kadar ram yiyor.
ama FMX eklediğim zaman 50mb+ yiyor ve bu değer sil ekle yaptıkca artıyor. 15mb kullanırken birden 50mb gibi seviyelere cıkıyor.
temalı temasız denedim VCL göre yinede çok fazla ram yiyor. denemek için 200 tane ekledim. daha cok fazla component ekleyince daha artacaktır.

acaba ben mi bir şeyi yanlış yapıyorum sizde durum böylemi.
teşekkür ederim.

Bu konuyu yazdır

  Girilen kaydı kapatıp açmadan göremiyoruz.
Yazar: boreas - 28-05-2020, Saat: 16:37 - Forum: Genel Programlama - Yorumlar (9)

Merhaba arkadaşlar,
çok kullanıcılı bir yazılımım var. Ofisden ya da fabrikadan kayıt yapılıyor. Ofisden girilen bir kayıt fabrikada ki kullanıcı yazılımını kapatıp açmadan göremiyor. Aynı şey ofis içinde geçerli. Fatura ya da sipariş kaydı vs. en son hali için kullanıcı programdan çıkıp tekrar giriyor. Bileşen seti olarak zeoslib kullanıyorum. Veri tabanı ise firebird. Sıkıntıyı nasıl aşarım yardımcı olursanız sevinirim.

Bu konuyu yazdır

  FMXLinux
Yazar: tuna - 28-05-2020, Saat: 10:34 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (5)

Arkadaşlar merhaba.
FMXLinux platformunda uygulama geliştirmeye başladım.
Geliştirdiğim uygulamaya test için sadece bir buton koydum kendi ubuntu 18.04 işletim sistemimde pa server üzerinden uygulama sorunsuz çalışıyor.
Uygulamayı derleyip yine test yaptığım ubuntu işletim sisteminde pa server olmadan çalıştırıyorum herhangi bir sorun olmadan çalışıyor.
Fakat aynı uygulamayı müşterimin kurmuş olduğu 18.04 ubuntu makinesine gönderiyorum uygulama açılmıyor ubuntu işletim sistemi bu dosyayı tanımıyor.
Müşterimizin ubuntu işletim sisteminde uygulamayı çalıştırmak için hangi kütüphanelerin kullanılması gerekli.


Kullandığım delphi sürümü 10.3.3  üzerine getit den fmxlinux platformunu indirdim.

Bu konuyu yazdır

  java.lang.AssertionError
Yazar: cihankoca - 28-05-2020, Saat: 09:36 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (2)

Merhaba. Uygulamam da Android 9 ve üstü cihazlarda sosyal ağlarda paylaşma butonuna tıklayınca resimdeki gibi bir hata mesajı alıyorum ve ekran görüntüsünü paylaşamıyorum. Bunun nedeni ne olabilir? Çözüm var mı acaba?

İyi çalışmalar



Ek Dosyalar
.png   hata1.png (Dosya Boyutu: 7,57 KB / İndirme Sayısı: 36)
.png   hata2.png (Dosya Boyutu: 24,11 KB / İndirme Sayısı: 36)
Bu konuyu yazdır

  ORA-1843 not a valid month
Yazar: Ekvador - 27-05-2020, Saat: 18:22 - Forum: Genel Programlama - Yorumlar (10)

iyi akşamlar arkadaşlar dün bilgisayarıma format atmak zorunda kaldım projelerimi yedekledim fakat formattan sonra bu hata karşıma çıktı projeyi açıp derlediğimde belirli gün ve ayı seçtiğimde bu hata çıkıyor resimleri ekledim yardımcı olursanız sevinirim başka bilgisayarlarda herhangi bir sorun olmadan çalışıyor tarih ayarlarını diğer bilgisayarlara görede ayarladım yinede aynı geçerli bir tarih değil hatası alıyorum

https://hizliresim.com/ThveiQ   

https://hizliresim.com/bbXXQy

diğer bilgisayarlarda çalıtığına dair göstermek için resmi yükledim

https://hizliresim.com/UNo6Ll

Bu konuyu yazdır

  post_event roolback nasıl tetiklenir
Yazar: info@guzelceker.com - 27-05-2020, Saat: 18:14 - Forum: FireBird - Yorum Yok

procedure TDm.FDEvent_KayitSayisiAlert(ASender: TFDCustomEventAlerter;
  const AEventName: string; const AArgument: Variant);
begin

if CompareText(AEventName, 'COUNT') = 0 then
begin

  Form_Anasayfa.Record_Label1.Caption.Text:=inttostr(Dm_Kayit.FD_musteriler.RecordCount);
  Form_Anasayfa.Record_Label3.Caption.Text:=inttostr(Dm_Kayit.FD_musteriler.RecordCount);

end;
end;

aslında problemi şöyle özetleyeyelim
müşteri kayıt penceresinde kayıt yapıyorum. kayıt yaptıktan sonra pencereyi kapatmıyorum tekrar yeni kayıt için başlangıç yapıyorum..

....StartTransaction
.....append
.....
..... post
....commit

dedikten sonra 
.....StartTransaction
.....append
.....
..... post

burada event harika çalışıyor... ancak record sayısını doğal olarak 2 veriyor ...  2 post olduğu için... benim istediğim sadece commit olanların sayısı almak..  yada rollback komutu çalıştığında trigerin tekrar tetiklenmesi (çünkü ikinci post sonrası eninde sonunda pencereyi kapatacağım ve  Rollback olacak..
umarım anlatabilmişimdir...şimdiden teşekkürler 

AS
begin
POST_EVENT 'COUNT';
end

Bu konuyu yazdır

  Delphi 10.4 Lisans Bulunamadı Sorunu
Yazar: mrmarman - 27-05-2020, Saat: 12:01 - Forum: Delphi Sürümleri - Yorumlar (2)

Can sıkıcı bir bug ile boğuşuyorum.

- Delphi 10.4 Sydney'i kendi kısayoluyla bağımsız çalıştırınca, Lisans Manager lisansımı görüyor ve sorunsuz Registered olarak çalışıyor.

- Bir delphi proje dosyasına mouse ile çift tıklayınca, Delphi 10.4'e başvurusu ile IDE çalışıyor, ancak Lisans Manager lisansı bulamayıp "Lisanslı Değildir" mesajı veriyor.
Bu diyalog penceresinden cancel ile çıktığımda ise hiçbirşey olmamış gibi çalışıyor ve Lisanslı olduğunu teyit ediyor.  Bununla ilgili bir video çektim. 


Kod:
RAD Studio 10.4 Sydney License Manager Problem
License works with RAD Studio shortcut.

When double click the delphi project file icon, RAD Studio opens but says "Not Registered". But it works after cancel button of the dialog.







Arrow   Quality Central'e issue açtım bakalım ne olacak : linki burada Issue Number :RSP-29110

Bu konuyu yazdır

  text to speech in turkış
Yazar: gbg - 27-05-2020, Saat: 11:19 - Forum: Mobil Platform - FireMonkey (FMX) - Yorumlar (5)

Merhaba

Android'de Türkçe konuşmayı nasıl konuşabilirim?

Bu konuyu yazdır

  Embarcadero Sponsor Oluyor
Yazar: SimaWB - 27-05-2020, Saat: 10:07 - Forum: Açık Kaynak Kodlu Yazılım & Bileşen & Geliştirici Araçları - Yorumlar (14)

Embarcadero, open source projelere destek programı açıklamış:

https://docs.google.com/document/d/e/2PA...xUWtGc/pub

Bu konuyu yazdır