Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi
Ön Sipariş Talebinde Bulunan Üyelerimiz
Sipariş Talebinde Bulunan Üyelerimiz

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Sunucu hatasi donma
#11
(16-10-2018, Saat: 16:18)arsl01 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol@Fesih ARSLAN hocam
1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.
2.sorunum da şu bunu sadece restclientte istemiyorum http post ederkend eaynı sorun oluyor thread ile yapsak daha iyi değilmi?

1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.

Ne hatası veriyor ? Bu soruyu sordurmaktan bıkmadınız arkadaşlar.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#12
hocam thread ile ilgil böyle bir örnek buldum denedim ama aynı sonuç

unit Unit1;
 
interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

uses idhttp;

type
 TMyThread=class(TThread)
 public
   procedure execute; override;
   procedure done;
 end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 with tmythread.create(false) do
   freeonterminate:=true;
end;

{ TMyThread }

procedure TMyThread.done;
begin
 showmessage('finished');
end;

procedure TMyThread.execute;
var h:tidhttp;
   f:tfilestream;
begin
 h:=tidhttp.create(nil);
 try
   h.HandleRedirects:=true;
   f:=tfilestream.create('c:\temp\openoffice.exe', fmcreate);
   try
     h.get('http://openoffice.bouncer.osuosl.org/?&product=OpenOffice.org&os=winwjre&lang=en-US&version=3.0.0', f);
     synchronize(done);
   finally
     freeandnil(f);
   end;
 finally
   freeandnil(h);
 end;
end;

end.
Cevapla
#13
(16-10-2018, Saat: 16:22)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(16-10-2018, Saat: 16:18)arsl01 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol@Fesih ARSLAN hocam
1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.
2.sorunum da şu bunu sadece restclientte istemiyorum http post ederkend eaynı sorun oluyor thread ile yapsak daha iyi değilmi?

1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.

Ne hatası veriyor ? Bu soruyu sordurmaktan bıkmadınız arkadaşlar.

Ben anladım @Tuğrul HELVACI hocam. Smile
Muhtemelen, değişken tanımını lokal metod içerisinde yaptı. Anonymous metod içerisinde kullanmaya çalışıyor.
En büyük sorun ise Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ExecuteAsync metodunun bir Thread olduğunu söylememe rağmen, bir thread ile yapsak olur mu? demesi.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#14
(16-10-2018, Saat: 16:22)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(16-10-2018, Saat: 16:18)arsl01 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol@Fesih ARSLAN hocam
1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.
2.sorunum da şu bunu sadece restclientte istemiyorum http post ederkend eaynı sorun oluyor thread ile yapsak daha iyi değilmi?

1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.

Ne hatası veriyor ? Bu soruyu sordurmaktan bıkmadınız arkadaşlar.

@Tuğrul HELVACI hocam yazıyı güncellemiştim zaten  sorunu çözdüm

(16-10-2018, Saat: 16:30)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(16-10-2018, Saat: 16:22)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.

Ne hatası veriyor ? Bu soruyu sordurmaktan bıkmadınız arkadaşlar.

Ben anladım @Tuğrul HELVACI hocam. Smile
Muhtemelen, değişken tanımını lokal metod içerisinde yaptı. Anonymous metod içerisinde kullanmaya çalışıyor.
En büyük sorun ise Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ExecuteAsync metodunun bir Thread olduğunu söylememe rağmen, bir thread ile yapsak olur mu? demesi.
hocam onun thread olduğunu biliyorum yani sadece restclientte bunu kullanabiliyorum bunu http post ederken TIDhttp bileşeninde nasıl kullanacağız onu sormak istedim  Smile
Cevapla
#15
(16-10-2018, Saat: 16:33)arsl01 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(16-10-2018, Saat: 16:22)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol1.sorunum deneme fırsatım yeni oldu fakat sonuç aynı var değişkenindeki jsonvalue de hata veriyor anlamadım.

Ne hatası veriyor ? Bu soruyu sordurmaktan bıkmadınız arkadaşlar.

@Tuğrul HELVACI hocam yazıyı güncellemiştim zaten  sorunu çözdüm

(16-10-2018, Saat: 16:30)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBen anladım @Tuğrul HELVACI hocam. Smile
Muhtemelen, değişken tanımını lokal metod içerisinde yaptı. Anonymous metod içerisinde kullanmaya çalışıyor.
En büyük sorun ise Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol ExecuteAsync metodunun bir Thread olduğunu söylememe rağmen, bir thread ile yapsak olur mu? demesi.
hocam onun thread olduğunu biliyorum yani sadece restclientte bunu kullanabiliyorum bunu http post ederken TIDhttp bileşeninde nasıl kullanacağız onu sormak istedim  Smile

RESTCient, RestRequest ve RESTResponse bileşenleri tüm REST ve RESTfull metodlarını desteklemektedir. REST.Types kütüphanesinde tanımlı olan ve desteklenen REST  veri iletişim yöntemleri;
  TRESTRequestMethod = (
   /// <summary>
   /// Sends a NEW object/entity to the server.
   /// </summary>
   rmPOST,

   /// <summary>
   /// Updates an already existing object/entity on the server. PUT may also
   /// allow for sending a new entity (depends on the actual server/API
   /// implementation).
   /// </summary>
   rmPUT,

   /// <summary>
   /// Retrieves an object/entity from the server.
   /// </summary>
   rmGET,

   /// <summary>
   /// Deletes an object/entity from the server.
   /// </summary>
   rmDELETE,
     /// <summary>
   /// Patches an object/entity on the server, by only updating the pairs that are sent within that PATCH body.
   /// </summary>
   rmPATCH
   );

Örnek kullanımı (execute etmeden önce kullanın):
RESTRequest1.Method := TRESTRequestMethod.rmPOST;
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#16
Hocam ben yanlis anlattim galiba veya soylediginizi yanlis anladim soyle http componenti ile post ederken soylemek istemistim
Cevapla
#17
(16-10-2018, Saat: 16:48)arsl01 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHocam ben yanlis anlattim galiba veya soylediginizi yanlis anladim soyle http componenti ile post ederken soylemek istemistim

Bende şunu anlatmaya çalışıyorum. Şu an için tüm web ve Rest servisleri için tümüyle çözüm sunan bileşen setlerini kullanın (RESTCient, RestRequest ve RESTResponse). 
Bu bileşenler HTTP ve benzer klasik bileşenlerden daha stabil ve daha hızlı çalışmaktadır, SSL ihtiyacı yoktur, tüm authentication protokollerini destekler (herhangi bir api'ye çok kolay bir şekilde bağlanmanızı sağlar, ek authentication metodlarına ihtiyaç duymaz.), veriyi optimize ederek gönderir, isterseniz sıkıştırarak da gönderir. Daha burada sayamayacağım kadar bir çok özelliğe sahiptirler.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#18
Ben restclient bilesenlerini sadece json olarak kullanildigini biliyordum . Saolun fesih hocam
Cevapla
#19
(14-10-2018, Saat: 10:27)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(14-10-2018, Saat: 01:54)Halil Han Badem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAleykümselam herkese,
  • Thread ile çalışma.
  • Thread ile timeout bekleme
  • Exception ile hatayı yakalama.
  • Hatayı istege göre yöneltme.
Kod istemeyiniz, dediğiniz konu temel.

Biz kod vermeyeceğimizi hiç bir zaman söylemedik. Yalnızca biraz çaba istiyoruz. 
Doğrudan kod isteyenlere karşıyız. 
Bu ikisi arasındaki farkı doğru tespit edemediğimiz zaman, karşı taraf üzerinde olumsuz bir etki bırakıyoruz ve maalesef ki bu prensibimizi ya karşı tarafa anlatmakta güçlük çekiyoruz ya da onlar bizi anlamak istemiyor. 
Kişinin çaba gösterdiğini anladığımız zaman her türlü yardımcı oluyoruz.  


REST servislerinin yoğun kullanıldığı şu günlerde aşağıdaki konu başlıklarında iyi birkaç makale olmadıktan sonra, ilerleyen günlerde tüm soru ve yorumların bu ve benzeri konulardan geleceği aşikardır. 
  • REST servisine bağlantı yöntemleri
  • Data Transfer protokolleri
  • Veriye ulaşma yöntemleri
  • REST metodlarının kullanımı
  • Veriyi alma ve işleme yöntemleri 
@arsl01 sorununa gelecek olursak;

Tecrübelerini beyan eden tüm DelphiCan'ların da belirttiği gibi bu ve benzeri durumların çözümü için veri bağlantılarında şu iki husususun gözden geçirilmesinde fayda olacaktır.
1- Veri bağlantısının olup olmadığını veya sunucudan bir sonuç döndüğünde, bu sonucun istenilen sonuç olup olmadığını kontrol etmek. 
2- Veri boyutunun yüksek olması durumunda asenkron bir metod kullanmak.

Her iki kontrol mekanizması için ek bir yöntem veya metod geliştirmeye gerek yok. 
Delphi temel kütüphaneleriyle bunları yapabiliriz.
Response bileşeninin StatusCode veya StatusText özelliği ile sunucuya ulaşıp ulaşamadığınızı, ulaşılamadı ise bunun nedenini öğrenebilir ve uygulama akışını bu duruma göre yönlendirebilirsiniz.
Sunucudan bir sonuç almak için muhtemelen RESTRequest bileşeninin Execute metodunu kullanıyorsunuz. Execute işlemini bir Thread'e tabi tutmak için aynı bileşenin ExecuteAsync metodunu kullanmalısınız. Bu metod parametre olarak doğrudan anonymous bir prosedür veya  daha önceden tanımlanmış bir prosedürel yapıyı kabul eder.

Her iki yöntemin kullanımı aşağıdaki gibi olmalıdır.
var
 jsonDegeri: TJSONValue;
begin
 RESTRequest1.ExecuteAsync(
   procedure
   begin
     if RESTRequest1.Response.StatusCode = 200 then
     begin
       jsonDegeri := RESTRequest1.Response.JSONValue;
       // Diğer işlemlkeriniz
     end;
   end);
end;

Eline sağlık üstad. Ben de tamamlanma durumunu kontrol etmeye çalışıyordum. Teşekkürler...
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  "F1026 File not found" hatası Pervane 4 108 01-11-2018, Saat: 14:33
Son Yorum: Pervane
  Delphi IDE Donma (Kilitlenmiyor,Geçici Donma) nehirnnn 3 166 30-10-2018, Saat: 20:41
Son Yorum: Ahmet İPEKÇİ
  XPrinter -printer is not currently printing hatası Bay_Y 4 143 04-10-2018, Saat: 16:53
Son Yorum: Bay_Y
  webden json okuma hatası arsl01 3 241 25-06-2018, Saat: 15:17
Son Yorum: arsl01
  Uzak Sunucu ile ilgili Bay_Y 3 361 08-06-2018, Saat: 10:36
Son Yorum: Bay_Y



Konuyu Okuyanlar: 1 Ziyaretçi