Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Передача указателя в несколько функций.

Страниц (1): [1]
 

1. JSinx - 27 Января, 2017 - 05:29:47 - перейти к сообщению
Есть функция, которая принимает три аргумента - ссылка на первое изображение, ссылка на второе и кол-во вторых изображений.

CODE:

function ff1(int #img_main, int #img_sub, int max_sub)
{
int main_count = findimage(1, #img_main[0][0], ....);
if (main_count <= 0)
{
return -1;
}

int sub_count = findimage(max_sub, #img_sub[0][0], ....);
...
}


и вызывается так:
CODE:

ff1(#img1[0][0], img2[0][0], 10);


то все работает.
Но если добавить еще одну функцию, которая вызывает первую

CODE:

function ff2(int #img_main, int #img_sub, int max_sub)
{
ff1(#img_main[0][0], img_sub[0][0], max_sub);
}


и вызвать ее
CODE:

ff2(#img1[0][0], img2[0][0], 10);


то появляться я ошибка на вызове функции поиска изображения
2. Kibor - 27 Января, 2017 - 05:41:15 - перейти к сообщению
На данный момент ошибка


 Цитата:
ff1(#img1[0][0], img2[0][0], 10);


 Цитата:
function ff1(int #img_main, int #img_sub, int max_sub)
{


передается переменная, принимается указатель.
3. JSinx - 27 Января, 2017 - 10:43:58 - перейти к сообщению
Это просто опечатка, т.к. пример тестовый.
Вот реальный код

CODE:

// ****************************************************
//
//
//
// ****************************************************
function sub_menu_click(int #img_main, int #img_sub, int max_count)
{
mouse(RIGHT, 150, 20, 1, wind);
sleep(200);

int fb_count = findimage(max_count, #img_main[0][0], 0, #pos_fbt_x[0], #pos_fbt_y[0], 0, 0, wind.widthclient, wind.heightclient, 5, 5, 5, 5, 5, 5, 100, 1, wind);
if (fb_count <= 0)
{
return -1;
}

int book_num = rand(0, fb_count);
sendmouse(LEFT, pos_fbt_x[book_num], pos_fbt_y[book_num], wind);

sleep(300);

int sb_count = findimage(1, #img_sub[0][0], 0, #pos_sbt_x[0], #pos_sbt_y[0], 0, 0, wind.widthclient, wind.heightclient, 5, 5, 5, 5, 5, 5, 100, 1, wind);

if (sb_count <= 0)
{
return -1;
}
sleep(100);

sendmouse(LEFT, pos_sbt_x[0], pos_sbt_y[0], wind);
sleep(100);
}

// ****************************************************
//
//
//
// ****************************************************
function sub_menu_click_with_try(int #img_main, int #img_sub, int max_count)
{
int try_count = 0;
try_menu_click:
int result = sub_menu_click(#img_main[0][0],#img_sub[0][0], max_count);
if (result>0)
{
return 1;
}

if (try_count > 10)
{
return -1;
}

try_count = try_count + 1;

zoom_out();
sleep(2000);

goto try_menu_click;
}

sub_menu_click_with_try(#img1[0][0], #img2[0][0], 1);
4. Kibor - 28 Января, 2017 - 07:28:47 - перейти к сообщению
Да. Не работает передача указателей на указатели.

Powered by ExBB FM 1.0 Final