Jump to content

multimesut

uniGUI Subscriber
  • Posts

    114
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by multimesut

  1. Merhaba, API haberleşmesi yaparken "UniGUIServerModuleHTTPCommand" Eventinde "ARequestInfo.Params.Values" kullanarak bir parametreyi alabiliyoruz. Peki kullanıcı API üzerinden bize bir dosya göndermek isterse nasıl yakalama yapmalıyız?

  2. Merhaba, UniComboBox'un MaxLength kısmını çalıştıramadım. 2 olarak ayarlıyorum fakat daha fazla değer girilebiliyor. 1.0.0.1420 sürümünü kullanıyorum ve aşağıdaki gibi ayarlı. Sorun ne olabilir?

            object UniComboBox6: TUniComboBox
              Left = 142
              Top = 17
              Width = 55
              Hint = ''
              MaxLength = 2
              Text = '00'
              Items.Strings = (
                '00'
                '05'
                '10'
                '15'
                '20'
                '25'
                '30'
                '35'
                '40'
                '45'
                '50'
                '55')
              TabOrder = 4
            end
    
  3. Merhaba; Aşağıdaki gibi bir java ile çözdüm.

    function SendAPI(id, message) {
        var result = null;
    	//var obj = document.getElementById(id);
        $.ajax({
            url      : address,
            type     : 'get',
            dataType : 'json',
            data     : JSON.stringify(message),
            success: function(data){
    			ajaxRequest(id, '_SendAPI', ['send=OK', 'actions='+data.data.actions, 'results='+data.data.results]);
                console.log(data.data.results);
            }
        })
        .done(function() {
            console.log('Send - OK');
        })
        .fail(function() {
            console.log("Send - ERR");
    		ajaxRequest(id, '_SendAPI', ['send=ERR', '', '']);
        });
    }
    
    procedure TForm1.btnNum1Click(Sender: TObject);
    begin
    UniSession.AddJS('SendAPI(Form1.form, {"data":{"actions": "test"}});');
    end;
    
    procedure TForm1.UniFormAjaxEvent(Sender: TComponent; EventName: string;
      Params: TUniStrings);
    var
      x, actions, results: String;
    begin
      if EventName = '_SendAPI' then
      begin
      x := Params.Values['send'];
      end;
    end;
    
    • Like 1
  4. Merhaba, Uygulama IIS 7 üzerinde çalışıyor. "Application Pools" start yapıldığında UniGUIServerModuleCreate tetiklenmiyor. Sayfayı bir kere açmak gerekiyor. Create tetiklenmediği için sabit işlem yapan timerlerim de çalışmıyor. Bu durum normal midir? ServerModule Destroy hangi durumda olur. sadece "Application Pools" stop ettiğimdemi yoksa bir zamanı var mı?

  5. Tüm ortak verilerim MainModule de. Fakat UniGUI de tek bir MainForm Page olabildiği için diğer sayfalarımı MainForm a Parent kullanıyorum (tFirma.Parent:=Main.MainForm;). Hal böyle oluncada MAIN e dokunmak gerekiyor. Aslında UniGUI sadece tek bir MainForm Page olarak tasarlanmış, ikinci MainForm i create etmemesi gerek.

  6. Çözümü aşağıdaki gibi buldum. Fix it;

    procedure TMainForm.UniFormShow(Sender: TObject);
    begin
    if TMainForm(Sender).Name<>'MainForm' then
      begin
      UniMainModule.UnRegisterFormInstance(TMainForm(Sender));
      UniMainModule.RegisterFormInstance(MainForm);
      Hide;
      end;
    end;
    
  7. Merhaba,

     

     

    Yeni bir proje açıp sadece LoginForm ekliyorum. Aşağıdaki gibi basit bir kullanımda MainForm 2 kere create oluyor. Örnek için basit kod yaptım. Aslında login durumlarına göre yetkili formu create edip main içerisine basıyorum. "tKullanici.Parent:=Main.MainForm;". Değişkenlerine eriştiğim zaman create oluyor. Birde login form kapatırken create ediyor. Zaten Create edildi ise birdaha create edilmemesi lazım. Bir bug gibi geldi bana. Kullandığım sürüm "1.0.0.1420".

     

    Teşekkürler..

     

     

    procedure TUniLoginForm1.btnLoginClick(Sender: TObject);

    begin

    main.MainForm.UniEdit1.Text:='Merhaba';

    ModalResult:=mrOK;

    end;

  8. GENEL NİTELİKLER

    Ankara Ostim'te yer alan ofisimizde görev yapacak aşağıdaki niteliklerde takım arkadaşı arıyoruz.

     

    • Tercihen Bilgisayar Mühendisliği/Programcılığı bölümünden mezun olmuş,

    • Delphi yazılım dili konusunda en az 4 yıl tecrübeli

    • Tercihen uniGUI bilgisi olan,

    • MySQL Server veritabanında tecrübeli ve program geliştirmiş,

    • Nesne temelli yazılım geliştirme konularında temel bilgi sahibi,

     

     

     

    İŞ TANIMI

    Geliştirmiş olduğumuz telekomünikasyon yazılımları arge merkezinde çalışacak takım arkadaşları aramaktayız.

  9. Bağlantıyı işi bitmeden free etmemesini söyleyeceğim(bu şekilden başka çözüm bulamadığım için). Bu konuda siz daha tecrübeli sinizdir #Farshad Mohajeri. Başka bir yol önerebilir misiniz. Benim tarafta sürekli soket oluşturup ilgili kullanıcının sunucusuna bağlanıp ardından soketi free etmekten kaçtığım için OnHttpCommand yoluna gitmiyorum. Durum sorgulamak için her saniye bilgi geldiğini düşünün bu ilk connect olayları büyük zaman kaybı ve yük olacaktır.

  10. ServerModule'deki OnHttpCommand eventi bu iş için daha uygundur.

    Doğrudan HTTP üzerinden istediğinizi yollayabilirsiniz. Hatta REST sunucu b,le yapabilirsiniz.

    OnHttpCommand uygun olmaz sanırım. Sebebi geliştirici istek yaptığında bir session oluşturup ve bu sesion içinde bende başka yerlere soket ile bağlanacağım. OnHttpCommand kullanırsam her yeni istekte yeni soket oluşturup karşı yere bağlanıp bilgi çekip aktarmam gerekecek. Diğer türlü değişkenlerim geliştirici bağlantısını kesene kadar açık kalır diye düşünüyorum. REST sunucusu oluşturabilirsiniz kısmını anlamadım. Bu yapacağım için uygunmudur? Unigui Örnek varmı?

     

     

    MErhaba,

     

    Ben aşağıdaki gibi bir javascript gönderiyorum.

     

     UniSession.JSONDirect('$("[class]").removeClass("selectedd"); $('+ TUniFormControl(FSelectedObj).JSName +'.el.dom).addClass("selectedd");');

     

    Yani sanıyorum, UniSession.JSONDirect('$(body).text("Merhaba Admin")'); işe yarayacaktır.

    Bu işe yaramadı sayfa login ekranına yinede yönlendi. uniLoginForm oluşturdum. Uygulama ilk açılışta login forma yönleniyor. "UniSession.Terminate('["Merhaba Admin"]')" yaptığımda yönlenmiyor sadece.

  11. Merhaba,

     

    Ben uygula ile haberleşebilecekleri api haberleşme sayfası yapmak istiyorum. Normalde uygulamamı çağırdıklarında unilogin sayfası geliyor. Ama parametre ile çağırdıklarında login yerine işlem sonucunu bir json olarak dönmek istiyorum. UniGUIMainModuleCreate olayına aşağıdaki kodu girdiğimde istediğim gibi davranıyor json mesajını yazıyor ama bir json yerine hata sayfası dönüyor. Terminate yerine direk boş sayfaya şunu yaz diyebileceğim bir kod var mı?

    if ParmValue('user')='admin' then
      UniSession.Terminate('["Merhaba Admin"]');
    
  12. Thank you. And

    function ParmValue(aParm: string): String;
    var
      i: Integer;
    begin
      Result := '';
      for i  := 0 to UniApplication.Parameters.count - 1 do
      begin
        if (UpperCase(aParm) = UpperCase(Copy(UniApplication.Parameters[i], 1, Length(aParm)))) then
        begin
          Result := UniApplication.Parameters.Values[aParm];
          Break;
        end;
      end;
    end;
    
  13. Çok teşekkür ederim #Farshad Mohajeri. Her şey mükemmel çalışıyor. Linux de bu ilk çalıştığı performansı kaybetmezse benim için yeterlidir. 

     

    Bu UniImageList1 ve NativeImageList farkı nedir. Neden hata alıyordum?

  14. Evet. Şuanda service olarak derlediğim dosyanın dpr sinde ufak değişiklikler yaparak çalıştırmayı başardım. Performanslı olarak çalışıyor. Bir türkçe karakter problemim var. Sanırım Linux sürümünden dolayı. Birde note sayfamda UniImageList1 hata veriyor. Bunu araştırıyorum. Diğer sayfalar çok iyi çalışıyor.

     

    EReadError : Error reading UniImageList1.Bitmap: Bitmap image is not valid : Addr: $0000000000520432

  15. Merhaba, Uygulamayı Linux bir makinede çalıştırmayı deniyorum. Tahminimce Console ekranında başlat çubuğu olmadığı için uniGUI Server exe si başlat cubuğuna icon u ekleyemiyor ve kapanıyor. Server dosyasında başlat çubuğuna icon eklememesini nasıl sağlayabilirim. Aldığım hata aşağıdaki gibidir.

     

    test.exe: 00000009: 13:39:40 []:>--------------------------------------------------------------<

    test.exe: 00000009: 13:39:40 [TUniServerModule]:Server First Init.

    test.exe: 00000009: 13:39:40 [H_OnVCLException]:EOSError : System Error.  Code: 1400.

    Invalid window handle : Addr: $0000000000444EF6

    test.exe: 00000009: 13:39:40 []:EReadError : Error reading StatusBar1.Left: A call to an OS function failed : Addr: $0000000000518252

    test.exe: 00000009: 13:39:40 [TUniServerModule]:Server Shutdown Completed.

  16. Hello, You can test;

    procedure TMainForm.UniFormCreate(Sender: TObject);
    var
      UniSFBitBtn2: TUniSFBitBtn;
      x: String;
    begin
      UniSFBitBtn2 := TUniSFBitBtn(InsertControl(TUniSFBitBtn.Create(Self)));
    
      UniSFBitBtn2.Name := 'UniSFBitBtn2';
      UniSFBitBtn2.Parent := Self;
      UniSFBitBtn2.Left := 64;
      UniSFBitBtn2.Top := 231;
      UniSFBitBtn2.Width := 113;
      UniSFBitBtn2.Height := 121;
      UniSFBitBtn2.Hint := '';
      UniSFBitBtn2.Caption := 'Dr. Mohammad';
      UniSFBitBtn2.TabOrder := 1;
      x:='sender.action = '#39'badgetext'#39';';
      x:=x+'sender.plugins = [{  ptype:'#39'badgetext'#39',  defaultText: 0,  disableOpacity:1,';
      x:=x+'disableBg:'#39'red'#39',  align:'#39'right'#39' }];';
      UniSFBitBtn2.JSInterface.JSAddListener('beforeInit', UniSFBitBtn2.JSInterface.JSFunction('sender, config', x));
      //UniSFBitBtn2.ClientEvents.UniEvents.Add('beforeInit=function(sender, config){ sender.action = '#39'badgetext'#39);
      //UniSFBitBtn2.ClientEvents.UniEvents.Add('; sender.plugins = [{  ptype:'#39'badgetext'#39',  defaultText: 0,  disa');
      //UniSFBitBtn2.ClientEvents.UniEvents.Add('bleOpacity:1,  disableBg:'#39'red'#39',  align:'#39'right'#39' }];}');
      UniSFBitBtn2.IconAlign := TUniIconAlign.iaTop;
      UniSFBitBtn2.IconFont := fa_lock;
      UniSFBitBtn2.IconFontColor := fc_white;
      UniSFBitBtn2.IconFontSize := fs_48;
      UniSFBitBtn2.ButtonStyles := bs_info;
    end;
    
×
×
  • Create New...