線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1981
推到 Plurk!
推到 Facebook!

access violation

答題得分者是:GrandRURU
joe2006
一般會員


發表:2
回覆:0
積分:0
註冊:2008-03-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-04 13:15:29 IP:210.61.xxx.xxx 訂閱
請教前輩們,因為工作上學長因故離開,程式使用者又一直反應,所以…
Error Message : Access violation at address 499968AA in module 'rtl60.bpl'. Read of address 3137203C.

我試了一下也上網爬了一下文,感覺上像是 delete好像出了錯,但又不確定,可以請前輩們指導一下嗎?
感恩

程式語言:Borland C 6.0
Designer OS: Winxp
使用者環境:window2000

程式碼如下
//Start======================================================
class PROCESS
{
private:
AnsiString DateTime, //目前的日期時間
cmd,
StartTimeMO, //MO 開始日期時間
EndTimeMO, //MO 結束日期時間
STMO, //上一 MO 生產日期時間
OldDateTime; //上一片的日期時間
PackData DPack;
LotData DLot;
COUNTER tmpCount, tmpLot;
MeasureStr strAvg, strDev;
TServerSocket *Server;
TIniFile *INI;
unsigned int TimeGap;
void __fastcall SaveCount(void);
void __fastcall ProDownTime(void);
bool __fastcall LoadDataLot(AnsiString ln);
bool __fastcall LoadDataMO(void);
bool __fastcall CheckRange(void);
public:
__DataSource *Active;
PRINT *Print; //列印單元
MeaBuf *PACK, //"包"資訊單元
*LOT, //"箱"資訊單元
*MO; //"MO"資訊單元
COUNTER OldCount, //上一次抓取的Basler的counter值
PcsCount; //此次counter增加的淨值
REJCOUNT RejLot, //Reject counter of Lot
RejMO; //Reject counter of MO
LabelMO MOSet;
AnsiString RAW, //RAW glass ID
RAWc, //RAW Glass counter
CombinLotNo, //併箱箱號
LotNo, //箱號
Leader, //組長名子
SampleLot; //Sample箱號
int OldLotSize, //併箱前每箱包數
CombinPcs, //併箱生產片數
CombinOldPcs, //併箱已有片數
CombinRemnant, //併箱零頭片數
CombinPack, //併箱包數
BOX,
DownTimeSet; //每片時間間隔設定 Unit:秒
//超過此設定視為 down time
bool FirstFlag, //System first time runing
NowEndMO, //現在執行的MO已結束
FlagCombin, //目前此箱是否併箱
PrinterON, //是否列印label
RangeR,
RangeT,
RangeA,
RangeB,
DataProcessFlag; //目前系統是否在處理傳入資料
float DownTime, //總 Down Time Unit:分
SetRmax,
SetRmin,
SetTmax,
SetTmin,
SetAmax,
SetAmin,
SetBmax,
SetBmin;
unsigned int OldInput;
PROCESS(TServerSocket *_srv)
{
Server = _srv;
FirstFlag = true;
DataProcessFlag = false;
INI = new TIniFile(INIname);
Print = new PRINT;
PACK = new MeaBuf;
LOT = new MeaBuf;
MO = new MeaBuf;
Print->MO = &MOSet;
Print->Lot = &DLot;
Print->Pack = &DPack;
StartTimeMO = INI->ReadString("Label", "StartTimeMO", "");
EndTimeMO = INI->ReadString("Label", "EndTimeMO", "");
STMO = INI->ReadString("Label", "STMO", "");
RejLot.LS = INI->ReadInteger("RejLot", "LS", 0);
RejLot.RS = INI->ReadInteger("RejLot", "RS", 0);
RejLot.SP = INI->ReadInteger("RejLot", "SP", 0);
RejMO.LS = INI->ReadInteger("RejMO", "LS", 0);
RejMO.RS = INI->ReadInteger("RejMO", "RS", 0);
RejMO.SP = INI->ReadInteger("RejMO", "SP", 0);
DownTimeSet = INI->ReadInteger("Label", "DownTimeSet", 0);
OldInput = INI->ReadInteger("Label", "OldInput", 0);
OldDateTime = "";
}
~PROCESS()
{
delete MO;
delete LOT;
delete PACK;
delete Print;
delete INI;
}
void __fastcall SaveLotNo(void)
{
INI->WriteString("Label", "LotNo", LotNo);
}
void __fastcall SaveSampleLot(void)
{
INI->WriteString("Label", "SampleLot", SampleLot);
}
void __fastcall ProcessRejCount(REJCOUNT C, AnsiString T);
void __fastcall GetMeasurement(AnsiString MSG); //處理輸入資料主程式
void __fastcall AddLotNo(void); //Add Lot No.
void __fastcall DoPack(int N, int J); //列印小label並將資料存進database
void __fastcall DoLot(void); //列印Lot label並將資料存進database
void __fastcall SaveCombinSetting(void); //儲存併箱設定
void __fastcall LoadCombinSetting(void); //載入併箱設定
void __fastcall SaveRAW(void); //儲存 RAW Glass 設定
void __fastcall SendMessage(AnsiString msg);
void __fastcall SaveOldInput(unsigned int V);
void __fastcall SaveNowEndMO(bool val);
void __fastcall ShowCounter(void);
void __fastcall SaveTimeStartMO(AnsiString _mo, AnsiString StartDT);
void __fastcall SaveTimeEndMO(AnsiString EndDT);
bool __fastcall ChangeLot(AnsiString ln);
void __fastcall ProGapMO(void);
AnsiString __fastcall SetMOI(void);
AnsiString __fastcall SetMOC(void);
AnsiString __fastcall SetLNO(void);
AnsiString __fastcall SetLOC(void);
AnsiString __fastcall SetPKC(void);
AnsiString __fastcall SetRejLot(void);
AnsiString __fastcall SetRejMO(void);
};
//END=====================================================================
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-14 16:38:04 IP:203.75.xxx.xxx 未訂閱
應該是VCL元件移除後所導致的問題,你可能需要找一下每個程式內有沒有include到不該包含進來的元件,先把它們全部移除後再試試看。

另外:
一、請善加利用討論區的程式碼區塊編輯功能。
二、大量程式碼建議請用附件。
三、討論版內的程式碼請貼重點地方(請考量大部份的老手都是忙裡偷閒上來的,可能會因沒辦法短時間看這麼多碼而跳過內文)。
編輯記錄
GrandRURU 重新編輯於 2008-03-14 16:43:29, 註解 無‧
系統時間:2024-03-29 16:20:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!