Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как передать STRING параметр, из EDIT в DLL 
:(
    Опции темы
Monty
  Дата 19.5.2003, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


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

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



чтото не ладится, длл вылетает с ошибкой sad.gif
а как правильно передать я не знаю. ДЛЛ написана на Delphi
Код
procedure hello(Str1, Str2: String); stdcall


делаю так:
Код
.....
.data?
bufStr1    db 512 dup(?)
bufStr2   db 512 dup(?)
.......
.......
invoke GetWindowText, hEdit1, addr bufStr1, 512
invoke GetWindowText, hEdit2, addr bufStr2, 512

push offset bufStr2
push offset bufStr1
call hHELLO
.......
и не получается sad.gif

Это сообщение отредактировал(а) Monty - 19.5.2003, 00:14


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
acp
Дата 19.5.2003, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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



Код

procedure hello(Str1, Str2: PChar); stdcall



PM WWW ICQ   Вверх
Monty
  Дата 19.5.2003, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


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

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



Все равно вылетает окно "Память не может быть READ" sad.gif
по моему это происходит здесь
Код
if FileExists(Str1) then begin

потому что я раставил перед этим MessageBox и после неё еще три, вот они и не срабатывают, значит ошибка возникает в той строке которую я привел выше


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
acp
Дата 19.5.2003, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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




А у тебя в


Код

bufStr2
bufStr1



0 на концах есть?


Это сообщение отредактировал(а) acp - 19.5.2003, 14:58
PM WWW ICQ   Вверх
Monty
  Дата 19.5.2003, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


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

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



этого я не знаю, те MessageBox котрые я раставил показывают правильный текст
Код
Windows.MessageBox(0,Str1,Str2,0);

что в EDIT'ах тоже самое и в MessageBox'ах hmmm.gif

PS " Str1, Str2: PChar; "

Это сообщение отредактировал(а) Monty - 19.5.2003, 16:18


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
acp
Дата 19.5.2003, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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




Даже не знаю... Если MessageBox'ы срабатывают правильно, то ведь это уже не проблема передачи.

Попробуй преобразовать явно

Код

if FileExists(String(Str1)) then begin

PM WWW ICQ   Вверх
Monty
  Дата 19.5.2003, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


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

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



Код
if FileExists(String(Str1)) then begin
я уже по всякому извращался, таже ошибка.
Я думаю что она в ДЛЛ а это уже не АСМ smile.gif буду сам пока разбираться, спасибо.

И на последок один вопрос:
Когда я вызываю процедуру вот так call hHELLO программа ждет когда она выполнится? вроде бы да.

Тогда где же ошибка... ДНК не предлагать =)


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
acp
Дата 19.5.2003, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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



Цитата
Когда я вызываю процедуру вот так call hHELLO программа ждет когда она выполнится?



Ну конечно smile.gif

PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

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

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


 




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


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

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