|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Runtime Error 204 at 00402470 .. помогите .. замучился .. незнаю как избавится
Здравствуйте!
я новичок в дебагинге полный дуб вот тут вылезает все время это: Runtime Error 204 at 00402470 и в разных местах .. непонятно по какому принципу помогите пожалуйста! procedure TForm1.ApplyButtonClick(Sender: PObj); var sect: PTTXTRsect; TempString: pchar; PointPos: byte; begin if TxtrListBox.count<>0 then begin PointPos:=Pos('.[',TxtrListBox.items[TxtrListBox.CurIndex]); getmem(pointer(TempString),pointpos); sect:=TXTR_BASElist.Items[str2int(StrLCopy(TempString,PChar(TxtrListBox.item s[TxtrListBox.CurIndex]), PointPos-1))-1]; freemem(pointer(TempString),pointpos); TempString:=''; sect^.type1:=0; sect^.type2:=0; if TXTR_CHROME_ON.Checked then begin sect^.trnp_chrome:=ChromeDensity.Progress/100; sect^.type2:=sect^.type2 or TXTR_WORD_CHROME; if TXTR_CHROME_NODISTORT.Checked then sect^.type1:=sect^.type1 or TXTR_Byte_NODISTORT; if sect^.txtr0<>nil then freemem(sect^.txtr0, sect^.ln_txtr0); TempString:=PChar(TXTR_CHROME_FILENAME.Text); sect^.ln_txtr0:=length(TempString); if sect^.ln_txtr0=0 then sect^.txtr0:=nil else begin getmem(sect^.txtr0, sect^.ln_txtr0); strLcopy(sect^.txtr0, TempString, sect^.ln_txtr0); end; end else begin if sect^.txtr0<>nil then freemem(sect^.txtr0, sect^.ln_txtr0); sect^.txtr0:=nil; sect^.ln_txtr0:=0; sect^.trnp_chrome:=-1; end; //msgbox('chrome good',MB_OK); if TXTR_diff_ON.Checked then begin sect^.type2:=sect^.type2 or TXTR_WORD_diff; if sect^.txtr1<>nil then freemem(sect^.txtr1, sect^.ln_txtr1); tempString:=Pchar(TXTR_diff_FILENAME.Text); sect^.ln_txtr1:=length(tempstring); if sect^.ln_txtr1=0 then sect^.txtr1:=nil else begin getmem(sect^.txtr1, sect^.ln_txtr1); strLcopy(sect^.txtr1, TempString, sect^.ln_txtr1); end; end else begin if sect^.txtr1<>nil then begin freemem(sect^.txtr1, sect^.ln_txtr1); sect^.txtr1:=nil; end; sect^.ln_txtr1:=0; end; //////////////////////////////////////// if TXTR_alfa_ON.Checked then begin sect^.type2:=sect^.type2 or TXTR_WORD_alfa; if sect^.txtr2<>nil then freemem(sect^.txtr2, sect^.ln_txtr2); TXTR_alfa_FILENAME.Invalidate; TempString:=PChar(TXTR_alfa_FILENAME.Text); sect^.ln_txtr2:=length(TXTR_alfa_FILENAME.Text); if sect^.ln_txtr2=0 then sect^.txtr2:=nil else begin getmem(sect^.txtr2, sect^.ln_txtr2); strLcopy(sect^.txtr2, TempString, sect^.ln_txtr2); end; end else begin if sect^.txtr2<>nil then begin freemem(sect^.txtr2, sect^.ln_txtr2); sect^.txtr2:=nil; end; sect^.ln_txtr2:=0; end; TempString:=''; //TxtrListBox.items[sect^.num-1]:=GetTXTRsectNameString(sect^.num-1); end; end; --- sect^.txtrX - это поинтер sect^.ln_txtrX - это его размер --- может тут очень тупая ошибка, но пожалуйста обьясните.. |
#2
|
|||
|
|||
Runtime Error 204 - Invalid pointer operation.
На каких строчках возникает? Опиши задачу конкретнее. Мне отчего-то кажется, что можно всё это решить болле простым кодом. |