Am Besten zeigst du uns einfach den Aufruf von SortShortTagArray im C++ Quelltext.
Damit man mal den Kontext sieht. Sonst ist es wieder nur Glaskugelwischen.
Hier.. Danke.
Die Sort Funktion war hier..
http://www.delphipraxis.net/1386876-post5.html
btw.. Es soll niemand für mich übersetzen benötige nur Hilfestellungen.
Code:
long GetObjectOrder (IN HWND hParent) {
long pZP = gPropertyItem(hParent);
if (pZP > -1) {
if (g_Prop[pZP].ordersize) {
return pZP;
}
}
long UB = UBOUND(g_zObj);
if (UB > 0) {
long K = 0, nCount = 0;
vector<short> A1(UB), A2(UB);
for (K = 0; K < UB; K++) {
if (g_zObj[K].hwnd == hParent) {
A1[nCount] = (short) (g_zObj[K].order); A2[nCount] = (short) (K);
nCount += 1;
}
}
//ARRAY SORT A1() FOR nCount, TAGARRAY A2();
SortShortTagArray (A1, A2, nCount); // hier!
char buffer[2048] = {0};
for (K = 0; K < nCount; K++) {
MoveMemory(&buffer[0] + K * sizeof(short) , &A2[K], sizeof(short));
}
A1.clear(); A2.clear();
if (pZP < 0) {
// REDIM PRESERVE g_Prop[1 TO pZP) AS ZIMAGEPROP
pZP = (long) (UBOUND(g_Prop));
g_Prop.resize(pZP + 1);
}
g_Prop[pZP].hWnd = hParent;
MoveMemory(&g_Prop[pZP].order, &buffer[0], sizeof(buffer));
g_Prop[pZP].ordersize = nCount; // nCount * 2;
}
return pZP;
}
gruss