Ticket T212451
Visible to All Users

Display the code of the underlying Windows error that caused a GDI+ error (also called 'Invalid operation in GDI+')

created 10 years ago (modified 10 years ago)

One of our customers is getting an error:

Delphi
exception class : EdxGdipException exception message : Invalid operation in GDI+ (Code: 7). main thread ($1d2c): 0062525d +015 HireTrackNX.exe dxGDIPlusAPI 1474 +2 GdipCheck 0063103e +066 HireTrackNX.exe dxGDIPlusClasses 4255 +4 CreateStream 006310da +01e HireTrackNX.exe dxGDIPlusClasses 4279 +3 TdxGPImage.InternalSaveToStream 00630192 +002 HireTrackNX.exe dxGDIPlusClasses 3697 +0 TdxGPImage.SaveToStreamByCodec 00630187 +013 HireTrackNX.exe dxGDIPlusClasses 3692 +1 TdxGPImage.SaveToStream 006314f0 +00c HireTrackNX.exe dxGDIPlusClasses 4483 +1 TdxSmartImage.WriteData

Now "Code 7 " is Win32Error, but surely there must be a way of working out what is causing the Win32Error. Should not GdpiCheck() be calling GetLastError in order to work out what the underlying problem is?

Paul

Show previous comments (3)
DevExpress Support Team 10 years ago

    Am I right in my assumption that you wish to have the "Win32Error" message instead of the Invalid operation in GDI+ (Code: 7)  exception?

      I think so, yes.  The current GdpiCheck() effectively masks what the underlying cause it.

      DevExpress Support Team 10 years ago

        OK. Thanks. We will think this over.

        Answers approved by DevExpress Support

        created 10 years ago (modified 10 years ago)

        We have implemented the functionality described in this ticket. It will be included in our next update(s).

        Please check back and leave a comment to this response to let us know whether or not this solution addresses your concerns.

        Additional information:

        With VCL 15.1, if the underlying Windows error can be obtained using the GetLastError system function, its description is added to GDI+ error messages displayed by the ExpressGDI+ Library. Use the scxGdipInvalidOperationWin32Error resource string to localize the message's template.

          Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

          Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.