Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7715691
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T02:27:04+00:00 2026-06-01T02:27:04+00:00

I have a warning in my code that I can’t figure out how to

  • 0

I have a warning in my code that I can’t figure out how to remove. The method is a utility method that is invoking THTTPRIO’s FConverter field’s IOPConvert.ProcessResponse method.

There are several overloaded versions of ProcessResponse in IOPConvert, and the one that is declared with parameter type InvString as the first parameter is the deprecated one.

Throughout the Delphi SOAP RTL, the trend has been away from String types and towards stream types, since Delphi 7, up to now (Delphi XE/XE2).

The question is WHY? In this case I can’t even figure out how to convert my helper code unless I add an ugly string-stream wrapper:

TRIOHelper = class helper for THTTPRIO
    public
        function HelperMethod(aMethName: String; aSoapString: String) : TRemotable;
    end;

function TRIOHelper.HelperMethod(aMethName, aSoapString: String): TRemotable;
var 
   tmpString:String;
begin 
     //FConverter is a field in THTTPRIO
     tmpStr := GrievousXmlHackery(aSoapString);
     FConverter.ProcessResponse(InvString(tmpStr), IntfMD, MethMD, FContext);
     ...
end;

The code above the deprecated call is tweaking an XML document (the SOAP response) and removing some problematic elements from the incoming stream. Yes, a hack. How should I change it,and why are strings bad in OpConvert?

I guess I need to make a String Stream or Memory Stream wrapper for tmpString? Note that in my case, the GrievousXmlHackery function removes the <encoding> tag when present, from the SOAP for evil reasons that remain unimportant here.

Unless there is something actually technically WRONG with the old methods and the string based apis, I’m going to put up with the warning. But if (like many places in the VCL), the deprecated warning also means “here be dragons”, I’d like to know about it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T02:27:06+00:00Added an answer on June 1, 2026 at 2:27 am

    I’m not familiar with Delphi’s SOAP implementation, but why can’t you just use a TStringStream instead?

    function TRIOHelper.HelperMethod(aMethName, aSoapString: String): TRemotable;
    var 
      Strm: TStringStream;
    
    begin 
         //FConverter is a field in THTTPRIO
         Strm := TStringStream.Create(GrievousXmlHackery(aSoapString));
    
         // or
         // Strm := TStringStream.Create('');
         // Strm.DataString := GreviousXmlHackery(aSoapString);
    
         FConverter.ProcessResponse(Strm, IntfMD, MethMD, FContext);
         // Not sure if you or THTTPRIO is responsible for releasing the stream
         ...
    end;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have some code that will trigger Code Analysis warning CA1063: CA1063 : Microsoft.Design
Early warning - code sample a little long... I have a singleton NSMutableArray that
I have several Code Analysis CA1704:IdentifiersShouldBeSpelledCorrectly warnings that I want to suppress. Basically, they
I have the code: unsigned int length = strlen(somestring); I'm compiling with the warning
I have the following code, for which I get the error: Warning : mysqli_stmt::bind_result()
I have a function that gives me the following warning: [DCC Warning] filename.pas(6939): W1035
I have the below code that links and runs fine in 32bit mode -
I have a code that runs on an embedded system and it has to
I have some code that is structured like the following: if (someStatement) { //...
I have some code that retrieves a scripted svg image from a server via

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.