Вверх ↑
Этот топик читают: Гость
Ответов: 12
Рейтинг: 0
#1: 2012-01-16 00:21:44 ЛС | профиль | цитата
Создаю программу. Требуется использовать функцию из дллки , но я не понимаю что значит "LPCSTR" , вроде что-то нужно выводить , какойто размер. Но не получается.
Примера как такового нет, ни чего не получилось. Вот сама функция которую требуется вызвать через компонент calldllex, так как не знаю InlineCode. На скрине все подробно описано, но уменя всеравно не получилось составить запрос для вызова функции GPSL_SetTextLineData.

http://www.nicegoing.ru/zm1011/img_tmbj9co9ektxozm_33124.jpg


Может кто-нибудь помочь примерчиком для вызова этой функции? [spoiler]Как-нибудь по проще , что бы в дальнейшем я сам мог разобраться как вызывать через calldllex...
------------ Дoбавленo в 00.21:
Если нужно будет, залью эту длл. Но без игр, которые загружают d3d8.dll результата не увидите ...
карма: 0

0
Ответов: 1731
Рейтинг: 68
#2: 2012-01-16 00:38:42 ЛС | профиль | цитата
[offtop]Хм, оверлей на DirectX, что-то мне это напоминает [/offtop]
------------ Дoбавленo в 00.38:
LPCSTR

написано русским языком, что там нужно вводить текст
карма: 1

0
Ответов: 12
Рейтинг: 0
#3: 2012-01-16 00:44:21 ЛС | профиль | цитата
Не просто текст, я пробовал текст, сразу вылетает.


Попробовал так:

GPSL_SetTextLineData;B;W;W;S;D;b;B;B;1;150;150;PRIVET;0xFF000000;20;1

Ошибка приложения...


оверлей на DirectX


d3d8 hook
карма: 0

0
Ответов: 1731
Рейтинг: 68
#4: 2012-01-16 00:53:08 ЛС | профиль | цитата
d3d8 hook

Может proxy DLL?
Текст вроде не пишут без "".
карма: 1

0
Ответов: 12
Рейтинг: 0
#5: 2012-01-16 01:03:52 ЛС | профиль | цитата
та же ошибка.

GPSL_SetTextLineData;B;W;W;S;D;b;B;B;1;150;150;"PRIVET";0xFF000000;20;1


в поисковике писали что в LPCSTR какойто размер строки , строку нужно выводить, а я непонимаю что это значит...
------------ Дoбавленo в 01.01:
http://www.nicegoing.ru/zm1011/img_tmbj9co9ektxozm_33124.jpg
------------ Дoбавленo в 01.03:
на скрине написано , BYTE WORD WORD LPCTSTR DWORD bool BYTE BYTE

а ответ в bool выходит по идее

GPSL_SetTextLineData;B;W;W;S;D;b;B;B;b;1;150;150;"PRIVET";0xFF000000;20;1

пробовал так, не получается...
карма: 0

0
Ответов: 1731
Рейтинг: 68
#6: 2012-01-16 01:14:01 ЛС | профиль | цитата
Переводи - including the terminating '/0'
карма: 1

0
Ответов: 12
Рейтинг: 0
#7: 2012-01-16 01:25:36 ЛС | профиль | цитата
"including the terminating '/0'" мне это ни о чем не говорит...,

Среди компонентов Hiasm ничего не нашёл похожим на это
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#8: 2012-01-16 06:59:34 ЛС | профиль | цитата
Poproshaika, все очень просто: к строке в конце надо прибавить нулевой символ. Т.е. "PRIVET"
карма: 10
0
Ответов: 1731
Рейтинг: 68
#9: 2012-01-16 08:25:37 ЛС | профиль | цитата
Assasin, там палочка в другую сторону, "Privet/0"
карма: 1

0
Ответов: 67
Рейтинг: 5
#10: 2012-01-16 09:00:28 ЛС | профиль | цитата
Cosinus писал(а):
там палочка в другую сторону
все правильно, попробуй поиграться палочками
code_26545.txt
карма: 1

0
файлы: 1code_26545.txt [283B] [111]
Ответов: 12
Рейтинг: 0
#11: 2012-01-16 18:44:51 ЛС | профиль | цитата
Все та же ошибка, как не игрался... Вызываю через пример "TestDemo.sha" в архиве с calldllex


http://www.autohotkey.net/~MasterFocus/AHK/Lib/GPF/GPF_v1.1c.rar вот архив с библиотеками, d3d8 загружается вместо системной d3d8, а gpcomms.dll позволяет использовать внутри игры, текст, изображения, снятие скриншотов. (только в тех играх в которые загружена d3d8...)


Все с чем я смог разобратся это вывод FPS на экран во время игры ....
GPSI_ShowFPS;b;I;1 - показывать
GPSI_ShowFPS;b;I;0 - нет



------------ Дoбавленo в 13.12:
Ну ладно, тогда у меня другой вопрос. Что значит указатель на окно? (pointer to screen representation)

хочу вызвать эту функцию, в мануале написано что(WINDOW) это указатель на окно...
#cpp

int overlay(const WINDOW *, WINDOW *);

DATA TYPES

The following data types are declared:

WINDOW * pointer to screen representation
SCREEN * pointer to terminal descriptor
bool boolean data type
chtype representation of a character in a window
cchar_t the wide-character equivalent of chtype
attr_t for WA_-style attributes


Как получить этот указатель, и в каком типе??
------------ Дoбавленo в 13.16:

Add(MainForm,2953706,259,147)
{
Height=332
Caption="123"
BorderStyle=1
Position=1
Point(Handle)
}
Add(CallDllEx,2633612,609,357)
{
DLLName=".pdcurses.dll"
Point(onProc)
Point(onLog)
Point(onDLLExports)
Point(doDLLName)
Point(doListDLLExports)
}
Add(FindWindow,11127778,448,147)
{
Caption="Demo test"
SkipParam=2
link(onFind,3732035:doCompare,[(492,153)(492,255)])
}
Add(StrCat,14050646,287,350)
{
Str1="overlay;h;h;I;"
link(onStrCat,13385775:doStrCat,[(341,356)(341,402)])
link(Str2,2953706:Handle,[(300,264)(265,264)])
}
Add(StrCat,13385775,363,396)
{
Str2=";"
link(onStrCat,1147247:doStrCat,[(407,402)(407,422)])
link(Str1,14050646:Result,[(369,389)(293,389)])
}
Add(StrCat,1147247,418,416)
{
Str2=";"
link(onStrCat,2633612:doCallFuncStr,[(530,422)(530,363)])
link(Str1,13385775:Result,[(424,404)(396,404)(396,440)(369,440)])
link(Str2,11127778:Handle,[(431,298)(454,298)])
}
Add(If_else,3732035,420,252)
{
Type=2
Op2=Integer(0)
link(onTrue,14050646:doStrCat,[(275,255)(275,356)])
}
Add(Button,10104658,154,322)
{
Left=200
Top=115
link(onClick,11127778:doFind,[(333,328)(333,167)(369,167)(369,153)])
}

такая схема выдает ошибку...сама библиотека тут http://pdcurses.sourceforge.net/
------------ Дoбавленo в 18.44:
//
так может кто помочь? [flood]кто-то писал что разработка hiasm4 заморожена, так может вам нечего делать, дак помогли бы ? [/flood]
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#12: 2012-01-16 18:47:36 ЛС | профиль | цитата
[flood]
Poproshaika писал(а):
так может вам нечего делать

Ага, совсем нечего, коль hiasm-ом не занимаемся, значит нечего делать.[/flood]
карма: 10
0
Ответов: 12
Рейтинг: 0
#13: 2012-01-16 18:50:56 ЛС | профиль | цитата
[flood]может[/flood]
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#14: 2012-01-16 18:56:51 ЛС | профиль | цитата
Poproshaika писал(а):
кто-то писал что разработка hiasm4 заморожена

Этот компонент не является штатным компонентомк HiAsm4 и не рассматривается в принципе. Все вопросы по помощи направляй Автору компонента
карма: 22

0
Ответов: 4672
Рейтинг: 768
#15: 2012-01-16 19:04:05 ЛС | профиль | цитата
Poproshaika писал(а):
GPSL_SetTextLineData;B;W;W;S;D;b;B;B;b;1;150;150;"PRIVET";0xFF000000;20;1

Я не знаю, как calldllex работает со строковыми параметрами, но в описанную функцию нужно передавать
указатель на строку, а не саму строку. То-есть, PChar("PRIVET").
Poproshaika, попробуй

GPSL_SetTextLineData;B;W;W;S;D;b;B;B;b;1;150;150;PChar("PRIVET");0xFF000000;20;1
карма: 26

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)