国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風(fēng)下載站 > 辦公軟件教程 > 詳細頁面

運行程序提示access violation at address的處理辦法

運行程序提示access violation at address的處理辦法

更新時間:2022-05-09 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

Microsoft Office Access是由微軟發(fā)布的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它結(jié)合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統(tǒng)程序之一。Microsoft Office Access是微軟把數(shù)據(jù)庫引擎的圖形用戶界面和軟件開發(fā)工具結(jié)合在一起的一個數(shù)據(jù)庫管理系統(tǒng)。它是微軟OFFICE的一個成員, 在包括專業(yè)版和更高版本的office版本里面被單獨出售。2018年9月25日,最新的微軟Office Access 2019在微軟Office 2019里發(fā)布。

現(xiàn)在把解決方法公布出來:
右擊“我的電腦”。單擊“屬性”。
在“系統(tǒng)屬性”中單擊“高級”。
在“性能”中單擊“設(shè)置”。
在“性能選項”中單擊“數(shù)據(jù)執(zhí)行保護”。
單擊“添加”。選擇要運行的程序。
OK。就這么簡單。

Access Violation(非法訪問)錯誤的解決方法

Access Violation(非法訪問),General Protection Fault(一般保護性錯誤)或者Invalid Page Fault(無效頁面錯誤),雖然說法不一樣,但本質(zhì)上總是由同一種錯誤引起的。Access Violation常常在計算機用戶運行的程序試圖存取未被指定使用的存儲區(qū)時遇到。
Access violation at address <十六進制值>
in module <應(yīng)用程序名>
Read of address <十六進制值>
Windows用戶可能經(jīng)常會看到類似于錯誤提示:“Error:Access violation at address 836556F8(004096da). Read of address 836556F8(00401000)”。作為一個Delphi程序開發(fā)者,遇到這種錯誤的機會比其他用戶更多(^_^)。
一旦Windows要在它被分配的存儲區(qū)之外寫數(shù)據(jù)信息,它就會覆蓋其他程序甚至操作系統(tǒng)的命令或數(shù)據(jù)。一旦發(fā)生了這種情況,操作系統(tǒng)將會癱瘓或者以 某種形式關(guān)閉,你必須重新啟動計算機。例如,在Windows NT/2000下一個程序遇到這種錯誤時,Dr. Watson出現(xiàn)并且停止了該程序,捕獲了一些快速的細節(jié)狀態(tài),再把它們用文本形式記錄下來。Access Violation是某些最令人氣惱的Windows程序遇到的錯誤之一。本文的目的就是讓你找到Delphi中Access Violation的解決之道。首先聲明一點,Access Violation和Microsoft Access沒有任何關(guān)系。

  用Delphi開發(fā)程序時,我們可以把遇到的Access Violation分成兩大類:運行期和設(shè)計期。

一、設(shè)計期的Access Violation

1.硬件原因
在啟動或關(guān)閉Delphi IDE以及編譯一個Delphi工程時容易出現(xiàn)設(shè)計期的Access Violation。在你的計算機運行中出現(xiàn)Access Violation信息可能由各種各樣的原因引起,包括系統(tǒng)BIOS、操作系統(tǒng)或者是硬件驅(qū)動線,有些聲卡、顯卡、網(wǎng)卡實際上也會導(dǎo)致這種錯誤。為什么這 么說?計算機里的每一塊卡都有它的設(shè)備驅(qū)動程序。對于不同的制造商、不同版本的Windows或者不同版本的Delphi都可能會遇到不同的問題。如下的 幾個步驟可能有助于你解決遇到的這些問題:

  1. 按照必要的步驟來證實你安裝的驅(qū)動程序之間沒有沖突。

  2. 有時降低顯示分辨率可能會使某些古怪的顯卡驅(qū)動程序穩(wěn)定一些。

  3. 如果使用雙處理器的主板,則保證對每個處理器的修改步驟一樣。

  4. 對于計算機上的所有硬件注意使用最新的驅(qū)動程序。

2.軟件原因
盡管Intel的計算機中Windows是最流行的操作系統(tǒng),由于Windows系統(tǒng)天生的脆弱性和BUG,應(yīng)用程序的誤操作可能導(dǎo)致操作系統(tǒng)的迅速 癱瘓(有時操作系統(tǒng)本身也會莫名其妙的癱瘓)。選擇一個更穩(wěn)定的程序開發(fā)環(huán)境是解決之道,如下幾個步驟可以幫助你防止某些Access Violation的發(fā)生:

  (1)盡管Windows 9X相當流行,Windows NT/2000還是從多方面被證實是一個穩(wěn)定得多的環(huán)境,幾乎對于所有的Windows代碼平臺而言都是這樣。

(2) 確保對于Windows NT/2000已經(jīng)安裝了最新的service pack。每次安裝完新版的service pack,你會發(fā)現(xiàn)機器變得穩(wěn)定了。

(3) 為你使用的各種版本的Delphi裝上當前的更新或補。˙DE、ADO……),這是提前預(yù)防錯誤的好辦法。盡量使用最新的Delphi補丁——Access Violation錯誤數(shù)量尤其是設(shè)計期的錯誤數(shù)會大大減少。

(4)如果你在IDE中經(jīng)常隨機遇到Access Violation錯誤,很有可能是你安裝了一個不好的控件、包或者一個向?qū)В皇悄闶褂玫陌姹镜腄elphi所編寫或編譯的。試著一個一個卸載定制的 控件(或者包)直到問題被解決,然后聯(lián)系控件廠商關(guān)注這個問題的結(jié)果。

(5) 檢查一下計算機里是否有沒用的東西和程序沖突。奇怪的軟件程序和測試版的產(chǎn)品常常會導(dǎo)致Access Violation錯誤。

(6) 如果系統(tǒng)設(shè)置有錯誤,那么Access Violation錯誤可能也會經(jīng)常出現(xiàn)。如果你不停地遇到一個錯誤提示信息一樣的Access Violation,記錄下這些細節(jié),然后通知可能導(dǎo)致這個錯誤的軟件制造廠商。
這些就是我對設(shè)計期Access Violation錯誤的全部建議。

二、運行期的Access Violation
Delphi常見的運行期Access Violation錯誤有哪些?如何防止?

任何軟件開發(fā)都會遇到這樣的情況:你寫好程序并測試,然后到處發(fā)送,結(jié)果用戶告訴你它失敗了。

你可能考慮用編譯指令{$D}編譯你的程序——Delphi可以建立一個有助于定位Access Violation錯誤的源代碼的鏡像文件。工程選項對話框(Project|Options|Linker & Compiler)讓你指定你所需要的一切。對于單元文件,debug信息和單元的對象代碼一起記錄在unit文件里了。編譯使用這個單元的程序 時,debug信息會增加單元文件的大小而且會增加額外的內(nèi)存開銷,但是它不會影響最終可執(zhí)行文件的大小和運行速度。包含debug信息和鏡像文件 (Project|Options|Linker)選項的產(chǎn)品只有在{$D+} 編譯指令下才會完成行信息。

Access violation通常只在程序的某一個方面表現(xiàn)出來。當問題第一次出現(xiàn)時,考慮一下用戶進行了什么操作是很重要的,然后從這里尋找突破口。從用戶的角度 來看,你的程序中止了他們的工作,由他們來告訴你出現(xiàn)的問題似乎讓你延期解決這個問題了。然而,與用戶交流是你發(fā)現(xiàn)問題和改善程序的惟一有效方法。

現(xiàn)在你將可以知道在只給你沖突地址的情況下,如何輕松發(fā)現(xiàn)準確路徑、源代碼文件、發(fā)生Access violation錯誤的行:
“Search - Find Error…”。

當一個運行期Access violation出現(xiàn)時,你的用戶得到的錯誤信息類似于如下情況:
Access violation at address <十六進制值>
in module <應(yīng)用程序名>
Read of address <十六進制值>

如果你的程序在Delphi IDE里包含debug信息編譯,你可以定位到導(dǎo)致這個錯誤源代碼這一行。
在Delphi程序中,一個最普遍導(dǎo)致Access Violation錯誤的原因是使用了一個沒有被創(chuàng)建的對象。如果第二個地址<十六進制值>是FFFFFFF或0000000,十有八九就是 你訪問? 了一個沒有被建立的對象。例如,你調(diào)用了一個表單的事件,但這個表單不是自動創(chuàng)建的,也沒有代碼實例化。

?procedure TfrMain.OnCreate(Sender: TObject);
var BadForm: TBadForm;
begin
//這里將會產(chǎn)生Access violation
BadForm.Refresh;
end;

假設(shè)BadForm在工程選項“Available Forms”窗口列表里——這個窗口是需要手工創(chuàng)建和釋放的。在上面的代碼里調(diào)用BadForm窗口的Refresh方法就會導(dǎo)致Access violation。

如果你在Debugger選項窗口使“Stop on Delphi Exceptions”生效,那么就會彈出下面的信息:
The message states that the EAccessViolation has occurred. The EAccessViolation is the exception class for invalid memory access errors.

這是你在設(shè)計程序時將會看到的信息,下一個信息框?qū)霈F(xiàn),然后程序失敗了:
Access violation at address 0043F193
in module ’Project1.exe’
Read of address 000000.

第一個十六進制數(shù)0043F193是發(fā)生Access violation的編譯代碼(Project1.exe)的運行期錯誤的地址。在IDE里選擇菜單項“Search|Find Error…”,在對話框里輸入錯誤發(fā)生的地址(0043F193)后點擊“OK”按鈕。Delphi將會重新編譯你的工程文件,然后顯示發(fā)生運行期錯誤 的那一行代碼,這里就是BadForm.Refresh這一行了。

下面列出了Delphi環(huán)境下導(dǎo)致Access violation錯誤的大部分常見原因。這個列表不是也不可能覆蓋所有可能出現(xiàn)的Access violation的情況。請在論壇上發(fā)送你的Access violation信息,大家可以試著一起解決這個問題——真正的實際事例一般情況下比列出來的錯誤隱晦得多。

1. 調(diào)用一個不存在的對象
如上所述,大部分Access violation的合理原因是使用了沒有被創(chuàng)建或者已經(jīng)被釋放的對象。為了防止這種類型的Access violation的發(fā)生,請確保你訪問的任何對象都首先被創(chuàng)建了。例如,當一個Table定位在一個沒有被創(chuàng)建的data module(從auto-crete窗口里移走了)里,你可能在窗體的OnCreate事件里打開這個表。

在下面的代碼里,在調(diào)用一個已經(jīng)被刪除了的對象(b:TBitmap)事件后,一個Access violation出現(xiàn)了:
var b:TBitmap;
begin
b:=TBitmap.Create;
try
//對b對象進行一些操作
finally
b.free;
end;
...
//由于b已經(jīng)被釋放,一個Access violation錯誤將會出現(xiàn)
b.Canvas.TextOut(0,0,’這是一個 Access Violation’);
end;

2. 不存在的API參數(shù)
如果你試圖給Win API函數(shù)傳遞一個不存在的參數(shù)將會出現(xiàn)一個Access violation錯誤。解決此類Access violation錯誤的最好方法是查閱Win API幫助,看看這個API函數(shù)調(diào)用的參數(shù)信息以及參數(shù)類型。例如,總是保證不給一個緩沖參數(shù)傳遞一個無效指針。

3. 讓Delphi釋放
當一個對象擁有另一個對象時,讓它給你做刪除工作。因為默認情況下,所有的窗體(自動創(chuàng)建的)都屬于Application對象。當一個應(yīng)用程序結(jié)束時, 它釋放了Application對象,也就釋放了所有窗體。例如,如果你在程序開始時自動創(chuàng)建了兩個窗體(Form1/Unit1和Form2 /Unit2),下面的代碼就會導(dǎo)致Access violation錯誤的出現(xiàn):
unit Unit1;
...
uses unit2;
...
procedure TForm1.Call_Form2
begin
Form2.ShowModal;
Form2.Free;
//Access violation錯誤將會出現(xiàn)
Form2.ShowModal;
end;

4. 殺死異常
永遠不要破壞臨時異常對象(E),處理一個異常會自動釋放異常對象。如果你自己手動釋放了異常對象,程序會試圖再次釋放它,那么就會出現(xiàn)Access violation錯誤:
Zero:=0;
try
dummy:= 10 / Zero;
except
on E: EZeroDivide do
MessageDlg(’不能用0做除數(shù)!’,mtError, [mbOK], 0);
E.free. ////Access violation錯誤將會出現(xiàn)
end;

5. 檢索一個空字符串
一個空字符串是沒有任何數(shù)據(jù)的。就是說,檢索一個空字符串相當于訪問一個不存在的對象,這將導(dǎo)致Access violation錯誤:
var s: string;
begin
s:=’’;
s[1]:=’a’;
//Access violation錯誤將會出現(xiàn)
end;

6. 直接引用指針
你必須間接引用指針,否則你會改變指針地址并可能會破壞其他存儲單元 :
procedure TForm1.Button1Click(Sender: TObject);
var
p1 : pointer;
p2 : pointer;
begin
GetMem(p1, 128);
GetMem(p2, 128);
//下一行導(dǎo)致Access violation錯誤
Move(p1, p2, 128);
//下一行方法正確
Move(p1^, p2^, 128);
FreeMem(p1, 128);
FreeMem(p2, 128);
end;
這些就是我對運行期Access Violation錯誤的全部建議,我希望你們也能對你們程序出現(xiàn)的Access Violation錯誤提出一些看法。
 


Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        久久日韩精品一区二区五区| 亚洲欧美在线aaa| 成人性视频网站| 欧美日韩一区二区三区在线| 久久精品一二三| 国产一区二三区| 日韩欧美国产1| 亚洲男人的天堂av| 国产剧情一区在线| 国产精品天干天干在观线| 国产成人日日夜夜| 2023国产精品| 欧美一级久久久久久久大片| 亚洲大片在线观看| 99精品热视频| 亚洲已满18点击进入久久| 欧美亚洲一区三区| 日韩在线播放一区二区| 91精品国产一区二区三区香蕉| 热久久免费视频| 精品国产伦理网| 在线亚洲精品福利网址导航| 日韩高清中文字幕一区| 久久先锋资源网| 精品欧美一区二区三区精品久久 | 久久久91精品国产一区二区三区| 欧美亚洲精品一区| 精品视频一区三区九区| 91麻豆精品国产91久久久久 | 国产午夜亚洲精品不卡| 国产精品福利一区二区三区| 欧美妇女性影城| 成人性生交大合| 99久久精品免费精品国产| 91久久精品网| 国产精品18久久久久久久网站| 久久97超碰色| 一区二区三区中文字幕| 久久色成人在线| 亚洲日本韩国一区| 久久亚洲综合色一区二区三区| 国产欧美一区二区三区鸳鸯浴 | 最新热久久免费视频| 亚洲精品老司机| 国产精品日韩精品欧美在线| 亚洲日本电影在线| 青青草成人在线观看| 国产成a人亚洲| 蜜臀99久久精品久久久久久软件| 中文字幕欧美一| 亚洲成人激情综合网| 国产精品一区二区久久精品爱涩 | 秋霞影院一区二区| 成人av午夜电影| jlzzjlzz欧美大全| 高清日韩电视剧大全免费| 色综合久久久久网| eeuss国产一区二区三区| 欧美日韩国产免费一区二区 | 一区二区视频在线| 免费观看久久久4p| 色综合咪咪久久| 精品福利在线导航| 亚洲成人综合视频| 99久久国产综合精品麻豆| 日韩手机在线导航| 最新国产精品久久精品| 亚洲女女做受ⅹxx高潮| 国产日产精品1区| 亚洲国产aⅴ天堂久久| 中文字幕一区二区三区蜜月| 大陆成人av片| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区二区三区在线| 国v精品久久久网| 亚洲欧洲精品一区二区三区 | 美日韩一区二区三区| 99久久99久久综合| 国产欧美精品区一区二区三区 | 亚洲制服欧美中文字幕中文字幕| 国产精品一区二区久激情瑜伽| 日韩一区二区麻豆国产| 午夜亚洲国产au精品一区二区| 亚洲欧美日韩国产一区二区三区| 国模冰冰炮一区二区| 国产不卡在线一区| 久久久久久久电影| 国内外成人在线| 欧美本精品男人aⅴ天堂| 午夜精品国产更新| 精品视频免费看| 亚洲国产欧美一区二区三区丁香婷| 91亚洲精品乱码久久久久久蜜桃| 日本精品视频一区二区| 国产精品久久久久久久岛一牛影视 | 欧美日韩一区小说| 樱桃视频在线观看一区| 色欧美乱欧美15图片| 有码一区二区三区| 欧美日韩中字一区| 日日夜夜免费精品| 91精品欧美福利在线观看| 美女任你摸久久| 久久久亚洲欧洲日产国码αv| 国产a级毛片一区| 亚洲女人小视频在线观看| 欧美无砖砖区免费| 日韩av中文字幕一区二区三区| 日韩精品一区二区三区在线播放| 国产剧情一区二区三区| 亚洲色图在线看| 欧洲视频一区二区| 日韩和欧美一区二区| 精品日产卡一卡二卡麻豆| 丁香另类激情小说| 亚洲免费观看高清完整版在线观看熊| 日本韩国精品在线| 老司机免费视频一区二区| 9l国产精品久久久久麻豆| 亚洲三级久久久| 5566中文字幕一区二区电影| 国产一区999| 亚洲一本大道在线| 精品少妇一区二区三区免费观看| 国产精品香蕉一区二区三区| 亚洲你懂的在线视频| 7777精品伊人久久久大香线蕉的| 国产在线日韩欧美| 一区二区高清免费观看影视大全 | 日韩精品一区二区三区视频播放 | 国产欧美一区二区三区在线看蜜臀| 99vv1com这只有精品| 日本不卡高清视频| 亚洲丝袜美腿综合| 91精品国产高清一区二区三区| 福利一区福利二区| 无码av免费一区二区三区试看 | 亚洲蜜臀av乱码久久精品| 欧美一级电影网站| 色综合天天狠狠| 国产成人av一区二区三区在线| 亚洲福利视频三区| 欧美激情综合网| 国产河南妇女毛片精品久久久 | 久久精品999| 亚洲免费观看视频| 2020国产精品| 欧美图区在线视频| 丁香桃色午夜亚洲一区二区三区| 香蕉乱码成人久久天堂爱免费| 中文字幕va一区二区三区| 日韩一级精品视频在线观看| 欧美在线观看视频一区二区| 成人自拍视频在线| 国产乱码一区二区三区| 日韩电影一区二区三区四区| 一卡二卡欧美日韩| √…a在线天堂一区| 国产日韩欧美精品一区| 欧美一级久久久| 欧美日韩激情一区| 欧美亚州韩日在线看免费版国语版| 成人禁用看黄a在线| 国产精品538一区二区在线| 麻豆91精品视频| 日本亚洲欧美天堂免费| 日韩精品高清不卡| 亚洲成人第一页| 亚洲第一在线综合网站| 亚洲宅男天堂在线观看无病毒| 亚洲美女免费视频| 亚洲三级在线观看| 亚洲美女淫视频| 亚洲精品久久久蜜桃| 一二三区精品福利视频| 亚洲午夜久久久久久久久电影院| 一区二区三区欧美| 性久久久久久久久久久久| 亚洲a一区二区| 日韩成人一级片| 另类小说视频一区二区| 国产一区二区三区电影在线观看 | 麻豆精品视频在线观看视频| 日韩电影一区二区三区四区| 精品一区二区三区久久| 国产精品资源网站| 99久久精品99国产精品| 精品婷婷伊人一区三区三| 91精品国产91久久久久久最新毛片 | 一区二区三区成人| 性做久久久久久免费观看 | 久久综合色播五月| 国产蜜臀97一区二区三区| 亚洲色图视频免费播放| 亚洲综合一区二区三区| 日韩国产在线观看| 国产成人在线观看| 欧美综合一区二区三区| 91精品免费观看| 日本一区二区免费在线观看视频 |