Работа с файлом из DLL

Тема в разделе "WASM.WIN32", создана пользователем aip, 8 фев 2005.

  1. aip

    aip New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2005
    Сообщения:
    25
    Адрес:
    Russia
    Добрый день уважаемые участники форума!!!

    Не пинайте сильно за наивный вопрос...

    пытаюсь сделать DLLку функция которой получает два параметра 'имя файла' и 'строка'+0 и

    должна создать/открыть указзаный файл и дописать в него строку... но вызывающая программа выдает ошибку... понять не могу... оффлайн форум излазил но баг (особенность)

    не нашел :)) в чем может быть ошибка?
    Код (Text):
    1.  
    2. ; DLL creation example
    3. format PE GUI 4.0 DLL
    4. entry DllEntryPoint
    5.  
    6. include '%fasminc%\win32a.inc'
    7.  
    8. section '.code' code readable executable
    9. proc DllEntryPoint, hinstDLL,fdwReason,lpvReserved
    10.         mov     eax,TRUE
    11.         return
    12. endp
    13.  
    14. proc    AddStrToFile, stina, stinb
    15.         enter
    16.         invoke CreateFile,[stina],\
    17.                GENERIC_WRITE or GENERIC_READ,\
    18.                FILE_SHARE_READ,\
    19.                NULL,OPEN_ALWAYS,\
    20.                FILE_ATTRIBUTE_ARCHIVE,\
    21.                0
    22.         mov [hFile],eax
    23.         invoke WriteFile,eax,[stinb],5,dwRwr,0
    24.         invoke  CloseHandle, eax
    25.         xor eax,eax
    26.         inc eax
    27.         return
    28. hFile    dd ?
    29. dwRwr    dd ?
    30.  
    31. endp
    32.  
    33. section '.idata' import data readable writeable
    34.  
    35.   library kernel,'KERNEL32.DLL'
    36.  
    37.   import kernel,\
    38.          CreateFile,'CreateFileA',\
    39.          WriteFile,'WriteFile',\
    40.          CloseHandle,'CloseHandle'
    41.  
    42. section '.edata' export data readable
    43.   export 'ADMPRCX.DLL',\
    44.          AddStrToFile,'AddStrToFile'
    45. section '.reloc' fixups data discardable
    46.  
    47.  
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    section '.code' code readable writeable executable
     
  3. aip

    aip New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2005
    Сообщения:
    25
    Адрес:
    Russia
    bogrus



    Спасибо... вечно с обьявлениями проблемка у меня
     
  4. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Зачем тебе лишние секции, пиши так:



    data import(export,fixups,resource)

    ...

    end data
     
  5. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Ещё "invoke CloseHandle, eax" замени на "invoke CloseHandle,[hFile]"
     
  6. aip

    aip New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2005
    Сообщения:
    25
    Адрес:
    Russia
    В этом видимо и была загвоздка...

    Спасибо всем за участие думаю ...тему можно закрыть

    (несерьезная тема но тем не мение можно типа факи для новичков заделать на таких простых моментах)



    bogrus

    несовсем понимаю про 'лишнии' секции...

    просто мой последний компилятор каким пользовался

    был:

    TURBO EDITASM Ver 1.02B PC-DOS

    Copyright (C) 1984,1985 by SPEEDWARE :)))