arkia
جمعه 26 آبان 1391, 23:16 عصر
باسلام
من میخواستم بدونم چطوری برای شی ای که هنگام اجرا تعریف می شود رویداد قرار بدم؟
مثالشو خدمتتون میگم:
> procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
> SOAPRequest: TStream);
> const
> X = '<checkVat
> xmlns="urn:ec.europa.eu:taxud:vies:services:checkVat:type s">';
> Y = '<checkVat>'
> var
> S: TStringList;
> Str: String;
> begin
> S := TStringList.Create;
> try
> SOAPRequest.Position := 0;
> S.LoadFromStream(SOAPRequest);
> Str := S.Text;
> if Pos(X, Str) > 0 then
> Str := Stringreplace(Str, X, Y, [rfReplaceAll]);
>
> // do the same with the SOAP-ENV to put namespace inside again
>
> SOAPRequest.Position := 0;
> S.Text := Str;
> S.SaveToStream(SOAPRequest);
> finally
> SOAPRequest.Position := 0;
> S.Free
> end;
> end;
اما مشکل و سوال اینجاس که من چطوری این رویداد رو به HTTPRIO اضافه کنم وقتی که شی ام توی فرم قرار نداره؟؟؟؟
یعنی من اینطوری این شیء رو دارم:
var
RIO: THTTPRIO;
من میخواستم بدونم چطوری برای شی ای که هنگام اجرا تعریف می شود رویداد قرار بدم؟
مثالشو خدمتتون میگم:
> procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
> SOAPRequest: TStream);
> const
> X = '<checkVat
> xmlns="urn:ec.europa.eu:taxud:vies:services:checkVat:type s">';
> Y = '<checkVat>'
> var
> S: TStringList;
> Str: String;
> begin
> S := TStringList.Create;
> try
> SOAPRequest.Position := 0;
> S.LoadFromStream(SOAPRequest);
> Str := S.Text;
> if Pos(X, Str) > 0 then
> Str := Stringreplace(Str, X, Y, [rfReplaceAll]);
>
> // do the same with the SOAP-ENV to put namespace inside again
>
> SOAPRequest.Position := 0;
> S.Text := Str;
> S.SaveToStream(SOAPRequest);
> finally
> SOAPRequest.Position := 0;
> S.Free
> end;
> end;
اما مشکل و سوال اینجاس که من چطوری این رویداد رو به HTTPRIO اضافه کنم وقتی که شی ام توی فرم قرار نداره؟؟؟؟
یعنی من اینطوری این شیء رو دارم:
var
RIO: THTTPRIO;