Запись в файл - ошибка

Discussion in 'WASM.BEGINNERS' started by DPX, Oct 22, 2005.

  1. DPX

    DPX New Member

    Blog Posts:
    0
    Joined:
    Feb 13, 2005
    Messages:
    47
    Location:
    Russia
    Здравствуйте!

    Почему не работает следующий код:
    Code (Text):
    1.                 invoke FindResource,hInstance,SAMP_RES,RT_RCDATA
    2.                 mov hResInfo,eax
    3.                 invoke SizeofResource,hInstance,hResInfo
    4.                 mov hResSize,eax
    5.                 invoke LoadResource,hInstance,hResInfo
    6.                 mov hResData,eax
    7.                 invoke LockResource,hResData
    8.                 mov lpEntryPoint,eax
    9.                 invoke CreateFile,addr szFileName,GENERIC_WRITE,NULL,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL ,NULL
    10.                 invoke WriteFile,eax,lpEntryPoint,hResSize,NULL,NULL




    szFileName db "e:\sampfile.dat",0



    на WriteFile вылетает с ошибкой, где можно оправить отчёт microsoft. Посмотрел в дебаггере, вылетает на инструкции mov dword ptr [ebx], C00h (это длина hResSize) (ebx=0). Что делать?
     
  2. Ms Rem

    Ms Rem New Member

    Blog Posts:
    0
    Joined:
    Apr 17, 2005
    Messages:
    1,057
    Location:
    С планеты "Земля"
    WriteFile обязательно требует, чтобы параметр lpNumberOfBytesWritten указывал на доступный на запись адрес, NULL тут недопустим.
     
  3. DPX

    DPX New Member

    Blog Posts:
    0
    Joined:
    Feb 13, 2005
    Messages:
    47
    Location:
    Russia
    Спасибо! Теперь заработало.