Создание Эльфов : Эльфостроение : Форум

Страница 200 из 211: « 1 ... 196 197 198 199 [200] 201 202 203 204 ... 211 »

 IDOL1234:
09.01.12, 20:51
 Скажите, где я натупил?

Код:
  int main (wchar_t* elfname, wchar_t* path, wchar_t* name)
  ...
  wchar_t* a;  
  a = wstrcat(path, L"/");
  a = wstrcat(a, name);
  MessageBox(EMPTY_TEXTID, TextID_Create(a, ENC_UCS2, wstrlen(a)), NOIMAGE, 1, 0,0); 


2 раза работает нормально, при третьем запуске строка в месседжбоксе удваивается, на четвёртый раз - утраивается и ребутит при нажатии "ок".

[ Редактировано IDOL1234 в 9.1.12 19:51 ]

 den_po:
09.01.12, 21:10
 IDOL1234, нельзя так делать. ты портишь чужую память. копируй в отдельный буфер вместе со строкой path.


Добавлено 9.1.12 21:12

переменная a тут не нужна, результат функции strcat равняется первому аргументу функции

 IDOL1234:
09.01.12, 23:28
 Я опять чего-то недопонимаю..
Код: 

  int file = w_fopen(a, WA_Read, 0x1FF, 0);        // что за константа 0x1FF?
  if (file >= 0)
  {
    wchar_t* text;
    text = new wchar_t[2];
  
    w_fread(file ,text, sizeof(text));
  
    w_fclose(file);
  
    MessageBox(EMPTY_TEXTID, TextID_Create(text, ENC_UCS2, wstrlen(text)), NOIMAGE, 2, 0,0); 
  }

На экран вываливаются штук 10 (это при размере переменной в 2 байта!) иероглифов, всегда разных. Похоже на кривые TextID, но хоть убейте, не вижу ошибки.

[ Редактировано IDOL1234 в 9.1.12 22:29 ]

[ Редактировано IDOL1234 в 9.1.12 22:30 ]

 den_po:
10.01.12, 02:33
 IDOL1234, у тебя массив содержит данные, а нулём не заканчивается. wstrlen хавает строку, а всё, что лежит в памяти сразу за ней, она считает продолжением строки

 IDOL1234:
10.01.12, 04:05
 Странно. У меня правильно считывается только в первый раз, потом в буфере образуется мусор, а функция возвращает 0. Есть какие-то особенности работы с файлами?

[ Редактировано IDOL1234 в 11.1.12 11:34 ]

 SummerWood:
26.01.12, 19:41
 Есть ли функции убавить/прибавить громкость средствами эльфа?

 Metaler:
26.01.12, 20:51
 SummerWood, нет вроде. Константы юзай

 SERGK393:
27.01.12, 20:54
 Metaler, я ивентами громкость изменял.

 Metaler:
27.01.12, 21:16
 SERGK393, так и ивентами никто не мешает.

 D3mon:
26.02.12, 23:57
 Подскажите, пожалуйста, для чего нужен "refresh-метод", устанавливаемый для диспа с помощью функи DISP_DESC_SetOnRefresh?
Что в нём можно обновлять?
А так же соответствующие функции DispObject_SetRefreshTimer и DispObject_KillRefreshTimer.

Или это нужно использовать вместо обычного таймера(Timer_Set) для перерисовки диспа? Т.е. в refresh'e использовать функцию DispObject_InvalidateRect ?
Страница 200 из 211: « 1 ... 196 197 198 199 [200] 201 202 203 204 ... 211 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1990

© 2005-2018 supertrubka.org