Независимая строка

Тема в разделе "WASM.BEGINNERS", создана пользователем dgs, 20 фев 2009.

  1. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    привет всем, сабж какую API надо использовать дабы выделить память для строки, ну макс размер которой 512h байт, более не требуется, прошу не слать в гугл и на всякие VirtualAlloc и т.п. И еще вопрос есть ли альтернативные способы использования FormatMessage?
     
  2. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Ты изложи для начала известные тебе способы использования FormatMessage. Как-то трудновато предлагать альтернативу не зная то, чему альтернативу нужно предложить.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    HeapAlloc
     
  4. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    в стеке :)
     
  5. _tmp17628

    _tmp17628 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    144
    DB 1298 dup(?)
     
  6. jaja

    jaja New Member

    Публикаций:
    0
    Регистрация:
    23 июл 2008
    Сообщения:
    243
    DW 1298/2
    DD 1298/4 ???
     
  7. _tmp17628

    _tmp17628 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2009
    Сообщения:
    144
    jaja
    1298 =
     
  8. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Просто часто придется Делать HeapAlloc или сразу выделять большой кусок, а там распределять, много времени можно было с экономить если кусок можно было выделить как в форматмессадж... Конечно не выловишь рыбку из пруда, но надежда на легкий способ всегда остается...

    Ну я даже и не знаю для чего еще можно использовать FormatMessage кроме как ошибки выводить...
    Код (Text):
    1. proc ErrorMessage error
    2.      local   lpBuffer:DWORD
    3.      local   parent:DWORD
    4.  
    5.         call    [GetActiveWindow]
    6.         mov     [parent], eax
    7.         lea     eax,[lpBuffer]
    8.       exception_show:
    9.         invoke  FormatMessage,FORMAT_MESSAGE_ALLOCATE_BUFFER+FORMAT_MESSAGE_FROM_SYSTEM,0,[error],LANG_NEUTRAL,eax,0,0
    10.         invoke  MessageBox,[parent], [lpBuffer], 0, MB_ICONERROR
    11.         invoke  LocalFree,[lpBuffer]
    12.       exception_exit:
    13.         ret
    14. endp
    [edit] убрал не цензурные высказывания и флуд