Programuję w C w stosunku do biblioteki innej firmy (w HP/Mercury Loadrunner). Próbuję wypracować kod potrzebny do dynamicznego wywołania innej funkcji. Zobacz przykład poniżej. Czy ktoś może pomóc z kodem, który sprawi, że to zadziała?

HomePage() {
  // Load Runner code to conduct home page call
}

SearchResults() {
  // Load Runner code to conduct some search results call
}

**FunctionCall(char function[]) {
// Conduct a remote call to another function based on what was passed in???
function;
}**

Main() {

FunctionCall(HomePage);
FunctionCall(SearchResults);

}
2
Jules Barnes 14 sierpień 2011, 11:07
Twoje pytanie nie jest dla mnie jasne. Jaki problem próbujesz rozwiązać? Opublikuj cały kod, który masz i problem, który masz.
 – 
hari
14 sierpień 2011, 11:53

3 odpowiedzi

Najlepsza odpowiedź

Jeśli szukasz wskaźnika do funkcji:

FunctionCall(void(*function)(void))
{
    function();
}

Main()
{

    FunctionCall(HomePage);
    FunctionCall(SearchResults);

}
4
user517491user517491 14 sierpień 2011, 11:15
Dziękuję, to jest to, czego potrzebowałem
 – 
Jules Barnes
14 sierpień 2011, 12:25

OK, tylko dla wyjaśnienia ..... Czy próbujesz (a) używać funkcji i komponentów LoadRunner poza ich użyciem w LoadRunner, czy (b) Projektować kod, który będzie używany wewnątrz LoadRunner, który wykorzystuje Twój dodatkowy kod?

Jedna ścieżka przyniesie sukces, druga nie.

0
James Pulley 15 sierpień 2011, 16:52

Ten kod jest używany w kodzie Loadrunner i działa teraz na podstawie przykładu.

Jaki jest twój wkład?

0
Alicia Bowles 16 sierpień 2011, 15:30
Strukturalnie Twój kod nie ma sensu w kontekście użytkowania w ramach LoadRunner. Użytkownicy wirtualni bazujący na LoadRunner C nie zawierają funkcji main(), ani wirtualny użytkownik bazujący na bibliotekach DLL C nie miałby takiej struktury (zobacz Zaawansowane koncepcje, Użytkownicy wirtualni bazujący na Visual Studio). Czy możesz dokładnie wyjaśnić, jak, gdzie i dlaczego korzystasz z bibliotek LoadRunner?
 – 
James Pulley
17 sierpień 2011, 00:58