![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с передачей строкового аргумента [D7, XP, 2003]
RET © (2010-06-17 19:35:00)Здравствуйте, я системный программист, но кроме Си и Асма практически не знаю. Есть такая проблема:
На Си: void _stdcall LALALA(WCHAR* word)
когда Делфи вызывает эту функцию, по-идее нужно мне от нее в Си передать указатель на UNICODE-строку (в параметр "word" с заранее выделенной еще в Делфи памятью оговоренного размера) , я должен передать туда (в параметр "word") слово в юникоде, но почемуто ничего не выходит или потом приходит вместо слова какой-либой "мусор". Вопрос: как должно выглядеть объявление моей функции в Делфи?
Заранее Спасибо.
ЗЫ: смотрел в Ольке в стек - юникод строка передается, но после вызова код уходит в дебри Делфийского ООП и в итоге MessageBoxW,например выдает мусорный буфер. Решение-то простое видимо, но понять про типы данных в Делфи мне сложновато.
Германн (2010-06-18 01:43:00) [1]
> turbouser © (17.06.10 21:36) [22]
>
> Какая прелесть :)
>
А я прозевал. Весь день был в отлучке от компа :(
Может кто скинет на почту в анкете?
Anatoly Podgoretsky (2010-06-17 23:46:00) [2]Да какая охота, это больше на отстрел похоже.
Плохиш (2010-06-17 22:51:00) [3]Хорошая охота...
Jeer (2010-06-17 22:40:00) [4]Ого !
Демо (2010-06-17 21:41:00) [5]
> turbouser © (17.06.10 21:36) [22]
> Какая прелесть :)
Вот и поговорили.
turbouser (2010-06-17 21:36:00) [6]Какая прелесть :)
RET (2010-06-17 21:33:00) [7]Удалено модератором
Сергей М. (2010-06-17 21:30:00) [8]Удалено модератором
RET (2010-06-17 21:28:00) [9]Удалено модератором
Сергей М. (2010-06-17 21:22:00) [10]Удалено модератором
RET (2010-06-17 21:21:00) [11]Удалено модератором
RET (2010-06-17 21:19:00) [12]Удалено модератором
RET (2010-06-17 21:19:00) [13]Удалено модератором
Игорь Шевченко (2010-06-17 21:16:00) [14]Удалено модератором
Сергей М. (2010-06-17 21:08:00) [15]Удалено модератором
RET (2010-06-17 20:53:00) [16]Удалено модератором
RET (2010-06-17 20:53:00) [17]Удалено модератором
RET (2010-06-17 20:49:00) [18]00000041 - это ASCII код Буквы "A" передается MessageBox"у вместо адреса, почему?
RET (2010-06-17 20:47:00) [19]0012FDD0 00000041 |Text = 00000041 ???
Вот что в ольке, отладчике в стеке вместо слова, если у меня сделать wcscpy(Word,L"A");
ADD:
> Что-то я не помню таких исключений "Исключение"
прочитайте про эксцепшены на васме у клерка и у меня
Плохиш (2010-06-17 20:44:00) [20]
> Word: PWideChar;
>
Убил бы уже только за использование зарезервированного слова.
> MessageBoxW(0,Word,0,0); //!!!!<-здесь какого-то лешего
> исключение если
>
Что-то я не помню таких исключений "Исключение"