Funkcje w innej aplikacji

0

Witam

mam takie pytanie
w aplikacji mam dwie funkcje

string x()
{
return("XYZ");
}
int y()
{
return(999);
}

no i bez prolemu w kazdej chcwili w tej aplikacji moge sie do tych funkcji odwolac :)

a czy jest molziwosc zeby wykorzystac te funkcje w innym programie ??

Pozdrawiam

0

Zapisz je w dll-ce. Będziesz mógł wykorzystywać raz napisaną bibliotekę w różnych projektach.

0

moze nie dokonca wyrazilem sie dobrze a przynajmniej przyklad dalem zly

powiedzmy ze jeden program co jakis czas zmienia wrtosc tej funkcji

i raz jest to "zxy" raz "xxx" itd

a ja drugim programem rownolegle chcialbym sprawdzac co ta funkcja zwraca :)

Pozdrawiam

0

Hm, co masz na myśli "zmienić wartość funkcji"?
Sądzę żę myślisz o jakiejs zmiennej ktorej przypisujesz wartosci.
Więc odczytanie wartosci z danego procesu jest mozliwe,
WinApi:
OpenProcess;
ReadProcessMemory
WriteProcessMemory

A jezeli chcesz sprawdzic w jakims tam procesie z lasu, co zwraca jakas tam funkcja, to nie wiem czy jest to możliwe do wykonania w jakis sensowny sposób :)

Czytanie, nadpiswanie komórek w pamieci systemowej tak, ale dostawanie sie do fukncji... hm. Google ;P

0

to moze jescze inaczej

jeden program ma funkcje

int suma(int x,int y)
{
return(x*y);
}

i chcialbym w drugim programie wywolac ta funkcje

Pozdrawiam

0

To zrob dllke, tak jak w pierwszej odpowiedzi.

0
dark_astray napisał(a)

Więc odczytanie wartosci z danego procesu jest mozliwe,
WinApi:
OpenProcess;
ReadProcessMemory
WriteProcessMemory

A jezeli chcesz sprawdzic w jakims tam procesie z lasu, co zwraca jakas tam funkcja, to nie wiem czy jest to możliwe do wykonania w jakis sensowny sposób :)

Zacznijmy od tego, że GC .NET relokuje obiekty etc. - użycie Read/WriteProcessMemory nie wchodzi w grę za bardzo. Żeby monitorować funkcję trzeba napisać uproszczony debugger, dla aplikacji natywnych inny, dla .NET innych. W przypadku aplikacji .NET problem jest znacznie mniejszy - framework posiada zbór klas do debugowania, kwestia napisać kilka-kilkanaście linijek jadących na tym i po krzyku.

0

Ja chyba mam jednak problem z wyslowieniem sie :)

powiedzmy ze ma dllke
ktoram ma nastepujaca funkcje

int sum(int a,int b)
{
return(a*b);
}

i chcialbym zeby jeden program przypisywal do zmiennej "a" a drugi do zmiennej "b"
jest takie cos mozliwego ??

Pozdrawiam

0

Jest. Uprzedzając kolejne pytanie - nie na sensu.

0

Mam nadzieję, że Kunai (bo takim nickiem się zwykle podpisuje) nie będzie się więcej podszywał pod autora tego wątku.

0

co chialem osiagnac ...hmm..
komuikacje miedzy dwoma programami

np za pomoca dll
aplikacja1<>dll<>aplikacja2
na prostym przykladzie

aplikacja2 jest placzona z jakims serwerem do ktorego wysyla "zapytania" i dostaje "odpowiedz"
ale zapytanie chialem wysylac z aplikacji1 i doniej dostawac wynik tego zapytania

Pozdrawiam

0

Każdy program ma swoją przestrzeń adresową, programy nie widzą się wzajemnie, biblioteka załadowana przez jeden program jest widoczna tylko dla niego etc. Dotarło w czym problem? Zainwestuj w coś normalnego do komunikacji międzyprocesowej, ostatnio nawet wątek na ten temat chyba był w tym dziale?

0

no to zabrałeś się do tego trochę odd strony

0
deus. napisał(a)

Każdy program ma swoją przestrzeń adresową, programy nie widzą się wzajemnie, biblioteka załadowana przez jeden program jest widoczna tylko dla niego etc. Dotarło w czym problem? Zainwestuj w coś normalnego do komunikacji międzyprocesowej, ostatnio nawet wątek na ten temat chyba był w tym dziale?

dotarlo dziekuje :)

mroczny rycerz napisał(a)

no to zabrałeś się do tego trochę odd strony

jak bym wiedzial od ktorej strony mam sie do tego zabrac nie pytal bym na forum :)

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1