Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заполнить структуру :), и опять они... 
:(
    Опции темы
Baa
Дата 15.12.2002, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



В прошлый раз надо было структуру получить :) в этот раз все намного хуже :) её надо заполнить... описываю проблему :)
Это у нас код проки в дллке :\ нам надо заполнить структуру... строка заполняется в раз, а вот до OnMouseDown добраться никак не могу...
Код

TGameInfo struc
szGameTitle BYTE 30 DUP (?)
OnMouseDown BYTE 0
TGameInfo ends

LPTGameInfo TYPEDEF PTR TGameInfo

Initialize proc GameInfo: LPTGameInfo
jmp @F
szGameTitle db "Test Game", 0
@@:

invoke lstrcpy, [GameInfo], ADDR szGameTitle
ret
Initialize endp


А вот код на дельфи, откуда все это и вызывается
Код

Type
 TGameInfo = Record
   strGameName: array [1..30] of Char;
   OnMouseDown: Boolean;
 End;
TInitialize = procedure (var GameInfo: TGameInfo);stdcall;
...
var
 GameInfo: TGameInfo;
 hLibrary: THandle = 0;
 Initialize: TInitialize = nil;
...
 hLibrary   := LoadLibrary('GameDll.dll');
 Initialize := GetProcAddress(hLibrary, 'Initialize');
 Initialize (GameInfo);


з.ы. скорее всего я как всегда туплю :)


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Baa
Дата 15.12.2002, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Ах, да, совсем забыл :) если использовать mov со смещением на адрес OnMouseDown, то изменения не происходят, более того, если с тем же смещением вызывать RtlFillMemory, то вылетает access violation


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Chingachguk
Дата 16.12.2002, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Попробуй просто для начала заполнить 31 байт какими-нибудь FFh ?


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Baa
Дата 16.12.2002, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



Усе, разобрался... блин... задаю вопросы глупые :( из раздела ртфм...
Код

TGameInfo struc
szGameTitle BYTE 30 DUP (?)
OnMouseDown BYTE 0
TGameInfo ends

LPTGameInfo TYPEDEF PTR TGameInfo

Initialize proc GameInfo: LPTGameInfo
jmp @F
szGameTitle db "Test Game", 0
@@:

mov esi, [GameInfo]
invoke lstrcpy, esi, ADDR szGameTitle
add esi, 30
mov byte ptr [esi], 1

ret
Initialize endp



--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0391 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.