⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soappasinv2.pas

📁 C/S方式下的HTTPS安全数据传输控件.控件在INDY9 和delphi7下编译通过.可以很好的使用
💻 PAS
字号:
unit SOAPPasInv2;

interface

uses
  Classes, InvokeRegistry, SOAPPasInv;

type
  TSoapPascalInvokerProvidingInvoker = class(TSoapPascalInvoker)
  public
    class procedure AdjustSOAPHeaders(aSelf: TSoapPascalInvoker);
    class function GetInvoker(aClass: TInvokableClass): TSoapPascalInvoker;
  end;

  THeaderListWithInvoker = class(THeaderList)
  protected
    fInvoker: TSoapPascalInvoker;
  end;

implementation

type
  TInvokableClassCrack = class(TInvokableClass)
  end;

  TSOAPHeadersBaseCrack = class(TSOAPHeadersBase)
  end;

{ TSoapPascalInvokerProvidingInvoker }
class function TSoapPascalInvokerProvidingInvoker.GetInvoker(
  aClass: TInvokableClass): TSoapPascalInvoker;
begin
  with TInvokableClassCrack(aClass), TSOAPHeadersBaseCrack(fSOAPHeaders) do
    if FHeadersInbound is THeaderListWithInvoker then
      Result:= THeaderListWithInvoker(FHeadersInbound).fInvoker
  else
    Result:= nil;
end;

class procedure TSoapPascalInvokerProvidingInvoker.AdjustSOAPHeaders(
  aSelf: TSoapPascalInvoker);
begin
  if not (TSoapPascalInvokerProvidingInvoker(aSelf).fHeadersIn is
  THeaderListWithInvoker) then
  begin
    TSoapPascalInvokerProvidingInvoker(aSelf).FHeadersIn.Free;
    TSoapPascalInvokerProvidingInvoker(aSelf).FHeadersIn:=
    THeaderListWithInvoker.Create;
    THeaderListWithInvoker(TSoapPascalInvokerProvidingInvoker(aSelf).FHeadersIn).fInvoker
      := aSelf;
    TSoapPascalInvokerProvidingInvoker(aSelf).FHeadersIn.OwnsObjects := False;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -