Cześć,
piszę pewien program/skrypt w języku AMBasic (połączenie VBA i C), który jest wbudowany w program księgowy Sage Symfonia. Wczoraj napisałem część kodu w domu i dziś chciałem połączyć wcześniej napisany kod z tym co zrobiłem w domu ale okazało się, że przy próbie zapisania samego pliku z kodem (bez jego uruchamiania/kompilowania) wywala mi błąd i nie pozwala zapisać pliku (cały plik w ogóle gdzieś ginie)... Komunikat błędu mówi coś o jakiś Data truncated - cokolwiek to znaczy...
Po dłuższej analizie okazało się, że problem prawdopodobnie jest spowodowany jedną funkcją/metodą w jednej klasie (rekordzie - bo tak została nazwana klasa w tym języku). Do takich wniosków doszedłem, gdy wykasowałem zawartość ciała tej funkcji, ale samą funkcję zostawiając. Gdy tak zrobiłem wszystko wydawało się działać normalnie. Funkcja w zasadzie nic nie robiła (jedynie zerowała profilaktycznie część zmiennych). Klasa/rekord z tą funkcją wyglądała następująco (moim zdaniem nie powinno być tu żadnego błędu):
Record KontoKsiegowe //record pełni rolę klasy
int konto_syntetyczne
int analityka1
int analityka2
int analityka3
int analityka4
int analityka5
int sub Sprawdzenie()
if(konto_syntetyczne > 999 || konto_syntetyczne < 1) then
konto_syntetyczne = 0
analityka1 = 0
analityka2 = 0
analityka3 = 0
analityka4 = 0
analityka5 = 0
endif
if(analityka1 > 999 || analityka1 < 1) then
analityka1 = 0
analityka2 = 0
analityka3 = 0
analityka4 = 0
analityka5 = 0
endif
if(analityka2 > 999 || analityka2 < 1) then
analityka2 = 0
analityka3 = 0
analityka4 = 0
analityka5 = 0
endif
if(analityka3 > 999 || analityka3 < 1) then
analityka3 = 0
analityka4 = 0
analityka5 = 0
endif
if(analityka4 > 999 || analityka4 < 1) then
analityka4 = 0
analityka5 = 0
endif
if(analityka5 > 999 || analityka5 < 1) then
analityka5 = 0
endif
endsub //koniec funkcji
//...
endrec //koniec rekordu
Później się okazało, że jak wezmę w komentarz całą zawartość ciała tej funkcji to również wywala mi błędy i nie pozwala zapisać pliku (kasuje plik z kodem)... Mimo, że komentarz nie powinien mieć na nic wpływ...
Jeszcze później się okazało, że jak jest jakiś krótki komentarz w tej funkcji to jest ok, ale jak zrobię nieco dłuższy komentarz np. na 3 linijki to już rzuca błędami...
Czy orientuje się ktoś co może być tego przyczyną i jak sobie z tym radzić?
Z góry dziękuję za pomoc.