delphi4arab منتديات دلفي للعرب
multithreading الطريقة الصحيحه delphi - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : multithreading الطريقة الصحيحه delphi (/showthread.php?tid=8683)



multithreading الطريقة الصحيحه delphi - صعب الوصايف - 17-05-2017

السلام عليكم
لضروره  طريقة اضافة multithreading  في اندي idhttp

المثال
كود :
memo1.Lines.Add(idhttp1.Get('http://google.com')) ; كيف دمجها



RE: multithreading الطريقة الصحيحه delphi - Agmcz - 30-05-2017

وعليكم السلام
تابع هذا الموضوع
دلفي & threads مفاهيم و تطبيقات


RE: multithreading الطريقة الصحيحه delphi - صعب الوصايف - 30-05-2017

اخي تابعت كثير دروس اجنبيه وعربية مالقيت مايخص idhttp بالطريقة الصحيح يحصل خطا دايم معي


RE: multithreading الطريقة الصحيحه delphi - Agmcz - 30-05-2017

ضع مثال وسأقوم بمساعدتك.


RE: multithreading الطريقة الصحيحه delphi - صعب الوصايف - 30-05-2017

هذا المثال اخي
memo1.Lines.Add(idhttp1.Get('http://google.com')) ;

هذا المثال اخي
memo1.Lines.Add(idhttp1.Get('http://google.com')) ;


RE: multithreading الطريقة الصحيحه delphi - Agmcz - 30-05-2017

هل هذا مثال أخي ؟؟
أقصد مثال كامل وليس جزء من الكود.


RE: multithreading الطريقة الصحيحه delphi - صعب الوصايف - 30-05-2017

الله يعطيك العافيه على التجاوب

هذا رابط الملف
http://www.up-00.com/?D4A6


RE: multithreading الطريقة الصحيحه delphi - Agmcz - 31-05-2017

هكذا بالتعديل على المثال الذي وضعته
لا تنسى إرفاق المكتبتين libeay32.dll و ssleay32.dll
بجانب التطبيق في حالة استعمال بروتوكول https
PHP كود :
unit Unit1;

interface

uses
  Winapi
.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, IdHTTP, IdSSLOpenSSL;

type
  TForm1 
= class(TForm)
 
   BitBtn1: TBitBtn;
 
   Memo1: TMemo;
 
   procedure BitBtn1Click(Sender: TObject);
 
 private
    
{ Private declarations }
 
 public
    
{ Public declarations }
 
 end;

var
 
 Form1: TForm1;

type
  TMyThread 
= class(TThread)
 
 private
    HTTP
: TIdHTTP;
 
   SSL: TIdSSLIOHandlerSocketOpenSSL;
 
 protected
    procedure Execute
; override;
 
 public
    constructor Create
(CreateSuspended: Boolean);
 
   destructor Destroy; override;
 
 end;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 
 MyThread: TMyThread;
begin
  MyThread 
:= TMyThread.Create(False);

end;

{ 
TMyThread }

constructor TMyThread.Create(CreateSuspended: Boolean);
begin
  inherited Create
(CreateSuspended);
 
 FreeOnTerminate := True;
 
 HTTP := TIdHTTP.Create(nil);
 
 SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
 
 HTTP.IOHandler := SSL;
 
 HTTP.HandleRedirects := True;
end;

destructor TMyThread.Destroy;
begin
  SSL
.Free;
 
 HTTP.Free;
 
 inherited;
end;

procedure TMyThread.Execute;
var
 
 Res: string;
begin
  Res 
:= HTTP.Get('https://esta.cbp.dhs.gov/esta/');
 
 Synchronize(
 
   procedure
    begin
      Form1
.Memo1.Lines.Add(Res)
 
   end
  
);
end;

end. 



RE: multithreading الطريقة الصحيحه delphi - صعب الوصايف - 02-06-2017

يعطيك العافيه والله يكثر من امثثثثثثالك

جاري التحجربة


وصدق من قال من تجاوز الثردينق اتقن برامجة اصبحت اقوا واثبت واسرع