Hello mindenki....
Eddig még nem volt ilyen problémám, de mióta 64 bites win7-et használok, azóta ez az error elõjött...
error 047: array sizes do not match, or destination array is too small
az ok, amiért nem az \"Itt kérdezz Error-t\" topicba írtam, az az, hogy tufom, eredetileg mi az oka..de itt az array méretének változtatása nem segít...
példa...
new Pass[128];
//egyéb cuccok...
Pass = dini_Get(\"/config.ini\", \"ServerPass\");
és bárhol használom, ezt az errort kapom meg, bármennyire is állítom az array méretét...
Megnéztem netes scriptet is, ami ezt használja, annál is elõjött, hiába \"elvileg\" bugmentesen volt feltöltve....
a segítséget/ötleteket megköszönöm.
Ezt:
new Pass[128];
Erre:
new Pass[DINI_MAX_STRING];
Hello mindenki....
Eddig még nem volt ilyen problémám, de mióta 64 bites win7-et használok, azóta ez az error elõjött...
error 047: array sizes do not match, or destination array is too small
az ok, amiért nem az \"Itt kérdezz Error-t\" topicba írtam, az az, hogy tufom, eredetileg mi az oka..de itt az array méretének változtatása nem segít...
példa...
new Pass[128];
//egyéb cuccok...
Pass = dini_Get(\"/config.ini\", \"ServerPass\");
és bárhol használom, ezt az errort kapom meg, bármennyire is állítom az array méretét...
Megnéztem netes scriptet is, ami ezt használja, annál is elõjött, hiába \"elvileg\" bugmentesen volt feltöltve....
a segítséget/ötleteket megköszönöm.
format(Pass, sizeof(Pass), dini_Get(\"/config.ini\", \"ServerPass\"));
Azért mert a DIni 255-os tömböket használ és tér vissza, emiatt a te általad megadott változók tömb mérete nem egyezik.
A Pawn nem tudja hány karaktert lépkedjen, mennyit tároljon, mit tegyen ha kisebb méretû változóba akarsz tárolni, mert talán crashez, vagy egyszerûen hibásan fog mûködni.
De gondolom úgysem használod ki azt a 255 karaktert kiolvasáshoz, szóval csak annyi lenne hogy a Dini függvénykönyvtár fölé odaírod a MAX_STRING-et. Így:
#define MAX_STRING 100
#include <dini>