Witam.
Czy można ustalić jakoś ile razy ma się powtarzać jakaś struktura??
Jak w przykładzie O->Tablica wskazuję na tablicę AHKArray lecz problem polega na tym, że w zasadzie AHKArray pod adresem O->Tablica powtarza się O->Count razy
Tak więc jak odczytać np A->Flag[3] (O->Tablica+0x2C)??
Dajmy na to O->Count = 25, czyli pod adresem znajduje się 25 struktur AHKArray.
Teraz jak odczytać każda z 25 struktur AHKArray a nie tylko pierwsza?? Coś na kształt
AHKArray A2 = (AHKArray) O->Tablica+16; dla drugiej struktury
AHKArray A3 = (AHKArray) O->Tablica+32; dla trzeciej struktury itd
Dodatkowo zapytam się czy można połączyć struktury w ten sposób aby wywoływać w en sposób: O->Tablica->Flag[3]
struct AHKObject
{
int n1;
int n2;
int n3;
int Tablica;
int Count;
int Capacity;
int Item_Num;
int n4;
};
struct AHKArray
{
int Value;
int Len;
int Name;
int Flag;
};
int API_Init(HWND h,int array)
{
int Count = 0;
int Item_Num = 0;
int Table = 0;
int Value = 0;
int Len = 0;
int Name = 0;
int Flag = 0;
int Obj = 0;
int q = 0;
Count = MR(array, 16);
Item_Num = MR(array, 24);
Table = MR(array, 12);
AHKObject *O = (AHKObject*)array;
AHKArray *A = (AHKArray*) O->Tablica;
return A->Flag;
}
int MR(int address, int offset){
int r = 0;
address += offset;
_asm{
mov edi, address
xor eax, eax
mov eax, [edi]
mov r, eax
}
return r;
}