delphi4arab منتديات دلفي للعرب

نسخة كاملة : multithreading الطريقة الصحيحه delphi
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
لضروره  طريقة اضافة multithreading  في اندي idhttp

المثال
كود :
memo1.Lines.Add(idhttp1.Get('http://google.com')) ; كيف دمجها
وعليكم السلام
تابع هذا الموضوع
دلفي & threads مفاهيم و تطبيقات
اخي تابعت كثير دروس اجنبيه وعربية مالقيت مايخص idhttp بالطريقة الصحيح يحصل خطا دايم معي
ضع مثال وسأقوم بمساعدتك.
هذا المثال اخي
memo1.Lines.Add(idhttp1.Get('http://google.com')) ;

هذا المثال اخي
memo1.Lines.Add(idhttp1.Get('http://google.com')) ;
هل هذا مثال أخي ؟؟
أقصد مثال كامل وليس جزء من الكود.
الله يعطيك العافيه على التجاوب

هذا رابط الملف
http://www.up-00.com/?D4A6
هكذا بالتعديل على المثال الذي وضعته
لا تنسى إرفاق المكتبتين 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. 
يعطيك العافيه والله يكثر من امثثثثثثالك

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


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