Delphi Can

Orjinalini görmek için tıklayınız: 10.3 rio Soap SOAPHTTPTrans.pas ProxyByPass
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba, 10.3 rio kullanan arkadaşlar SOAPHTTPTrans.pas içerisinde property  ProxyByPass kodu varmı bakabilirmi? 10.2.3 sürümünde var ama 10.3 de kaldırılmış görünüyor
10.3 de bu SOAPHTTPTrans.pas 651 satır 10.2.3 de 1603 satır görünüyor
Bende kodlar yok ama yardım dosyasına göre RIO'da da var gözüküyor:
http://docwiki.embarcadero.com/Libraries...roxyByPass
Merhaba @SimaWB 

- Ben şu sıralar başlığa cevap yazmak üzereyken de aynı yerde gördüm ancak dosyaları araştırdığımda yer almadığını gördüm. 

@masteryoda

- ( Community Edition ) Delphi RIO 10.3 yüklü Dosya yolu ve adı

Kod:
c:\Program Files (x86)\Embarcadero\Studio\20.0\source\soap\Soap.SOAPHTTPTrans.pas

İçinde bahsettiğiniz property maalesef mevcut değil ... Exclamation

- Eski yeni bir karşılaştırma yaptım. Property listesinde geçen ProxyByPass için kullanıldığı yer ESKİDEN aşağıdaki şekilde bir CONNECT procedure içinde yer alıyormuş. Bu yenisinde Connect'e de yer verilmemiş.  
- Ancak burada ( eski versiyondaki halinde ) şuna dikkat ettim. IFNDEF USE INDY direktifi... Huh

{$IFNDEF USE_INDY}

procedure THTTPReqResp.Connect(Value: Boolean);
var
 AccessType: Integer;
begin
 if Value then
 begin
   { Yes, but what if we're connected to a different Host/Port?? }
   { So take advantage of a cached handle, we'll assume that
     Connect(False) will be called explicitly when we're switching
     Host. To that end, SetURL always disconnects }
   if (FConnected) then
     Exit;

   { Proxy?? }
   if Length(FProxy) > 0 then
     AccessType := INTERNET_OPEN_TYPE_PROXY
   else
     AccessType := INTERNET_OPEN_TYPE_PRECONFIG;

   { Also, could switch to new API introduced in IE4/Preview2}
   if InternetAttemptConnect(0) <> ERROR_SUCCESS then
     SysUtils.Abort;

   FInetRoot := InternetOpen(PChar(FAgent), AccessType, PChar(FProxy), PChar(FProxyByPass), 0);
   Check(not Assigned(FInetRoot));
   try
     FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
       PChar(FPassword), INTERNET_SERVICE_HTTP, 0, Cardinal(Self));
     Check(not Assigned(FInetConnect));
     FConnected := True;
   except
     on E: Exception do
     begin
       InternetCloseHandle(FInetRoot);
       FInetRoot := nil;
       raise ESOAPHTTPException.Create(E.Message);
     end;
   end;
 end
 else
 begin
   if Assigned(FInetConnect) then
     InternetCloseHandle(FInetConnect);
   FInetConnect := nil;
   if Assigned(FInetRoot) then
     InternetCloseHandle(FInetRoot);
   FInetRoot := nil;
   FConnected := False;
 end;
end;

Ben de yeni versiyonda INDY yakasında alternatif var mı diye araştırdım şuna ulaştım.

Bunu başka bir unit altında yer verilmiş
c:\Program Files (x86)\Embarcadero\Studio\20.0\source\data\dsnap\Datasnap.Win.SConnect.pas

burada TWebConnection altında ProxyByPass yer alıyor. Idea

  TWebConnection = class(TStreamedConnection, ITransport)
  private
    FAgent: string;
    FUserName: string;
    FPassword: string;
    FURL: string;
    FURLHost: string;
    FURLSite: string;
    FURLPort: Integer;
    FURLScheme: Integer;
    FProxy: string;
    FProxyByPass: string;
    FInetRoot: HINTERNET;
    FInetConnect: HINTERNET;
    FInterpreter: TCustomDataBlockInterpreter;
    procedure Check(Error: Boolean);
    function IsURLStored: Boolean;
    procedure SetURL(const Value: string);
  protected
    { ITransport }
    function GetInterpreter: TCustomDataBlockInterpreter; override;
    function GetWaitEvent: THandle; stdcall;
    function Transport_GetConnected: Boolean; stdcall;
    function ITransport.GetConnected = Transport_GetConnected;
    procedure Transport_SetConnected(Value: Boolean); stdcall;
    procedure ITransport.SetConnected = Transport_SetConnected;
    function Receive(WaitForInput: Boolean; Context: NativeInt): IDataBlock; stdcall;
    function Send(const Data: IDataBlock): NativeInt; stdcall;
    procedure SetConnected(Value: Boolean); override;
  protected
    function CreateTransport: ITransport; override;
    procedure DoConnect; override;
    [Default(False)]
    property SupportCallbacks default False;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Agent: string read FAgent write FAgent;
    property UserName: string read FUserName write FUserName;
    property Password: string read FPassword write FPassword;
    [Stored('IsURLStored')]
    property URL: string read FURL write SetURL stored IsURLStored;
    property Proxy: string read FProxy write FProxy;
    property ProxyByPass: string read FProxyByPass write FProxyByPass;
    property ObjectBroker;
  end;


Buradaki PROCEDURE  Transport_SetConnected olarak yer alıyor.

procedure TWebConnection.Transport_SetConnected(Value: Boolean);
var
 AccessType: Integer;
begin
 if Value and not GetConnected then
 begin
   if Length(FProxy) > 0 then
     AccessType := INTERNET_OPEN_TYPE_PROXY else
     AccessType := INTERNET_OPEN_TYPE_PRECONFIG;
   FInetRoot := InternetOpen(PChar(Agent), AccessType, PChar(FProxy), PChar(FProxyByPass), 0);
   if InternetAttemptConnect(0) <> ERROR_SUCCESS then System.SysUtils.Abort;
   Check(not Assigned(FInetRoot));
   try
     FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
       PChar(FPassword), INTERNET_SERVICE_HTTP, 0, DWORD_PTR(Self));
     Check(not Assigned(FInetConnect));
   except
     InternetCloseHandle(FInetRoot);
   end;
 end else
 if not Value then
 begin
   if Assigned(FInetConnect) then
     InternetCloseHandle(FInetConnect);
   FInetConnect := nil;
   if Assigned(FInetRoot) then
     InternetCloseHandle(FInetRoot);
   FInetRoot := nil;
 end;
end;
(04-12-2018, Saat: 16:42)masteryoda Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba, 10.3 rio kullanan arkadaşlar SOAPHTTPTrans.pas içerisinde property  ProxyByPass kodu varmı bakabilirmi? 10.2.3 sürümünde var ama 10.3 de kaldırılmış görünüyor
10.3 de bu SOAPHTTPTrans.pas 651 satır 10.2.3 de 1603 satır görünüyor
Bilgilendirme için çok teşekkürler @mrmarman .
O zaman @masteryoda da benim gibi help'te bunu görmüştür tahminen.
Sizin vesilenizle güncel versiyonlarda yardım dosyalarına çok da güvenmemek gerektiğini öğrendik Sad 
Yada (iyimser olalım) hepimizin atladığı bir şey mi var  Confused
(04-12-2018, Saat: 17:54)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Bilgilendirme için çok teşekkürler @mrmarman .
O zaman @masteryoda da benim gibi help'te bunu görmüştür tahminen.
Sizin vesilenizle güncel versiyonlarda yardım dosyalarına çok da güvenmemek gerektiğini öğrendik Sad 
Yada (iyimser olalım) hepimizin atladığı bir şey mi var  Confused

@mrmarman  teşekkürler, yardım dosyasına baktım orada görünüp kodlarda görünmeyince bizde mi bir hata var dedim demek sadece bizde değilmiş ne diyelim Embarcadero sağolsun.
RESTClient1.Disconnect;
procedure TCustomRESTClient.Disconnect;
begin
  // Do nothing
end;

Metoda gittiğimde boş görünüyor sizce neden böyle?
(06-12-2018, Saat: 15:03)masteryoda Adlı Kullanıcıdan Alıntı: [ -> ]
RESTClient1.Disconnect;
procedure TCustomRESTClient.Disconnect;
begin
  // Do nothing
end;

Metoda gittiğimde boş görünüyor sizce neden böyle?

TCustomRESTClient objesi Disconnect; virtual şeklinde tanımlanmıştır, RESTClient kendi objsi içinde Disconnect; override yapılmıştır ve kodu orada tanımlanmıştır.