The MASM Forum

Projects => ObjAsm => Topic started by: HSE on October 27, 2022, 10:07:53 AM

Title: ErrorReport trash error
Post by: HSE on October 27, 2022, 10:07:53 AM
Hi Biterider!

I maked a modification for objects without owner (DiskStream in this case) because original trash xax, wich contain error:Method Primer.ErrorReport, uses xsi, pErrorCaller:POINTER, dErrorCode:DWORD
  SetObject xsi
  OCall xsi.ErrorSet, dErrorCode
  m2m [xsi].pErrorCaller, pErrorCaller, xax
  .if [xsi].pOwner != NULL
    OCall [xsi].pOwner::Primer.ErrorReport, xsi, dErrorCode
  .endif
MethodEnd


now is:Method Primer.ErrorReport, uses xsi, pErrorCaller:POINTER, dErrorCode:DWORD
  SetObject xsi
  .if [xsi].pOwner != NULL
    OCall xsi.ErrorSet, dErrorCode
    m2m [xsi].pErrorCaller, pErrorCaller, xax
    OCall [xsi].pOwner::Primer.ErrorReport, xsi, dErrorCode
  .endif
MethodEnd


Regards, HSE.
Title: Re: ErrorReport trash error
Post by: Biterider on October 28, 2022, 07:01:53 AM
Hi HSE
I'll check that, but it looks like a condition that is not handled correctly  :sad:
Thanks for reporting it.

Biterider
Title: Re: ErrorReport trash error
Post by: HSE on October 28, 2022, 07:34:40 AM
Hi Biterider!

Quote from: Biterider on October 28, 2022, 07:01:53 AM
I'll check that, but it looks like a condition that is not handled correctly  :sad:

Perhaps use is not like intended  :biggrin:

Just in case is:
    New DiskStream
    mov DskStreamIn, xax
    OCall DskStreamIn::DiskStream.Init, NULL, $OfsCStr("Data.json"), GENERIC_READ, \
                                    0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0
    .if xax == INVALID_HANDLE_VALUE                               
        jmp sale
    .endif


HSE