Delphi Access Violation错误的分析

Delphi Access Violation错误的分析
Delphi Access Violation错误的分析

Delphi Access Violation错误的分析

Delphi常见的运行期Access Violation错误有哪些?如何防止?

任何软件开发都会遇到这样的情况:你写好程序并测试,然后到处发送,结果用户告诉你它失败了。

你可能考虑用编译指令{$D}编译你的程序——Delphi可以建立一个有助于定位Access Violation错误的源代码的镜像文件。工程选项对话框(Project|Options|Linker & Compiler)让你指定你所需要的一切。对于单元文件,debug信息和单元的对象代码一起记录在unit文件里了。编译使用这个单元的程序时,debug信息会增加单元文件的大小而且会增加额外的内存开销,但是它不会影响最终可执行文件的大小和运行速度。包含debug信息和镜像文件(Project|Options|Linker)选项的产品只有在{$D+} 编译指令下才会完成行信息。

Access violation通常只在程序的某一个方面表现出来。当问题第一次出现时,考虑一下用户进行了什么操作是很重要的,然后从这里寻找突破口。从用户的角度来看,你的程序中止了他们的工作,由他们来告诉你出现的问题似乎让你延期解决这个问题了。然而,与用户交流是你发现问题和改善程序的惟一有效方法。

现在你将可以知道在只给你冲突地址的情况下,如何轻松发现准确路径、源代码文件、发生Access violation错误的行:“Search - Find Error…”。

当一个运行期Access violation出现时,你的用户得到的错误信息类似于如下情况:Access violation at address <十六进制值> in module <应用程序名> Read of address <十六进制值>

如果你的程序在Delphi IDE里包含debug信息编译,你可以定位到导致这个错误源代码这一行。在Delphi程序中,一个最普遍导致Access Violation错误的原因是使用了一个没有被创建的对象。如果第二个地址<十六进制值>是FFFFFFF或0000000,十有八九就是你访问? 了一个没有被建立的对象。例如,你调用了一个表单的事件,但这个表单不是自动创建的,也没有代码实例化。

procedure TfrMain.OnCreate(Sender: TObject);

var BadForm: TBadForm;

begin

//这里将会产生Access violation

BadForm.Refresh;

end;

假设BadForm在工程选项“Available Forms”窗口列表里——这个窗口是需要手工创建和释放的。在上面的代码里调用BadForm窗口的Refresh方法就会导致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.

这是你在设计程序时将会看到的信息,下一个信息框将会出现,然后程序失败了:Access violation at address 0043F193 in module ’Project1.exe’ Read of address 000000.

第一个十六进制数0043F193是发生Access violation的编译代码(Project1.exe)的运行期错误的地址。在IDE里选择菜单项“Search|Find Error…”,在对话框里输入错误发生的地址(0043F193)后点击“OK”按钮。Delphi将会重新编译你的工程文件,然后显示发生运行期错误的那一行代码,这里就是BadForm.Refresh这一行了。

下面列出了Delphi环境下导致Access violation错误的大部分常见原因。这个列表不是也不可能覆盖所有可能出现的Access violation的情况。请在论坛上发送你的Access violation信息,大家可以试着一起解决这个问题——真正的实际事例一般情况下比列出来的错误隐晦得多。

1. 调用一个不存在的对象

如上所述,大部分Access violation的合理原因是使用了没有被创建或者已经被释放的对象。为了防止这种类型的Access violation的发生,请确保你访问的任何对象都首先被创建了。例如,当一个Table定位在一个没有被创建的data module(从auto-crete窗口里移走了)里,你可能在窗体的OnCreate事件里打开这个表。

在下面的代码里,在调用一个已经被删除了的对象(b:TBitmap)事件后,一个Access violation出现了:

var b:TBitmap;

begin

b:=TBitmap.Create;

try

//对b对象进行一些操作

finally

b.free;

end;

...

//由于b已经被释放,一个Access violation错误将会出现

b.Canvas.TextOut(0,0,’这是一个Access Violation’);

end;

2. 不存在的API参数

如果你试图给Win API函数传递一个不存在的参数将会出现一个Access violation错误。解决此类Access violation错误的最好方法是查阅Win API帮助,看看这个API函数调用的参数信息以及参数类型。例如,总是保证不给一个缓冲参数传递一个无效指针。

3. 让Delphi释放

当一个对象拥有另一个对象时,让它给你做删除工作。因为默认情况下,所有的窗体(自动创建的)都属于Application对象。当一个应用程序结束时,它释放了Application对象,也就

释放了所有窗体。例如,如果你在程序开始时自动创建了两个窗体(Form1/Unit1和

Form2/Unit2),下面的代码就会导致Access violation错误的出现:

unit Unit1;

...

uses unit2;

...

procedure TForm1.Call_Form2

begin

Form2.ShowModal;

Form2.Free;

//Access violation错误将会出现

Form2.ShowModal;

end;

4. 杀死异常

永远不要破坏临时异常对象(E),处理一个异常会自动释放异常对象。如果你自己手动释放了异常对象,程序会试图再次释放它,那么就会出现Access violation错误:

Zero:=0;

try

dummy:= 10 / Zero;

except

on E: EZeroDivide do

MessageDlg(’不能用0做除数!’,mtError, [mbOK], 0);

E.free. ////Access violation错误将会出现

end;

5. 检索一个空字符串

一个空字符串是没有任何数据的。就是说,检索一个空字符串相当于访问一个不存在的对象,这将导致Access violation错误:

var s: string;

begin

s:=’’;

s[1]:=’a’;

//Access violation错误将会出现

end;

今天我遇到的Access Violation错误就是由于检索一个空字符串造成的

if aModalArray[i].HelpKeyword='背景' then

cbbNewParent.Items.Add(aModalArray[i].Caption);

当aModalArray[i].HelpKeyword=’’的时候就引发了异常

避免的方法是先对aModalArray[i].HelpKeyword是否为空进行判断

6. 直接引用指针

你必须间接引用指针,否则你会改变指针地址并可能会破坏其他存储单元:

procedure TForm1.Button1Click(Sender: TObject);

var

p1 : pointer;

p2 : pointer;

begin

GetMem(p1, 128);

GetMem(p2, 128);

//下一行导致Access violation错误

Move(p1, p2, 128);

//下一行方法正确

Move(p1^, p2^, 128);

FreeMem(p1, 128);

FreeMem(p2, 128);

end;

这些就是我对运行期Access Violation错误的全部建议,我希望你们也能对你们程序出现的Access Violation错误提出一些看法。

相信所有读者都遇到过“Access violation” 的错误,如果不是自己的程序,我们有很多人就把责任都推在Bill Gates的头上。如果你自己的程序出现了这个尴尬的错误,面对用户的询问,我们该如何解释?本文就是最好的答案。

2008-05-24 23:23 delphi 中Access violation解决办法Access violationWindows用户可能经常会看到类似于错误提示:“Error:Access violation at address 836556F8. Read of address 836556F8”。作为一个Delphi程序开发者,遇到这种错误的机会比其他用户更多(^_^)。

究竟什么是“Access Violation”?如何在设计期避免它的出现?

Access Violation(非法访问),General Protection Fault(一般保护性错误)或者Invalid Page Fault(无效页面错误),虽然说法不一样,但本质上总是由同一种错误引起的。Access Violation 常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。

Access violation at address <十六进制值>

in module <应用程序名>

Read of address <十六进制值>

一旦Windows要在它被分配的存储区之外写数据信息,它就会覆盖其他程序甚至操作系统的命令或数据。一旦发生了这种情况,操作系统将会瘫痪或者以某种形式关闭,你必须重新启动计算机。例如,在Windows NT/2000下一个程序遇到这种错误时,Dr. Watson出现并且停止了该程序,捕获了一些快速的细节状态,再把它们用文本形式记录下来。Access Violation是某些最令人气恼的Windows程序遇到的错误之一。本文的目的就是让你找到Delphi中Access Violation的解决之道。首先声明一点,Access Violation和Microsoft Access 没有任何关系。

用Delphi开发程序时,我们可以把遇到的Access Violation分成两大类:运行期和设计期。

一、设计期的Access Violation

1.硬件原因

在启动或关闭Delphi IDE以及编译一个Delphi工程时容易出现设计期的Access Violation。在你的计算机运行中出现Access Violation信息可能由各种各样的原因引起,包括系统BIOS、操作系统或者是硬件驱动线,有些声卡、显卡、网卡实际上也会导致这种错误。为什么这么说?计算机里的每一块卡都有它的设备驱动程序。对于不同的制造商、不同版本的Windows 或者不同版本的Delphi都可能会遇到不同的问题。如下的几个步骤可能有助于你解决遇到的这些问题:

1. 按照必要的步骤来证实你安装的驱动程序之间没有冲突。

2. 有时降低显示分辨率可能会使某些古怪的显卡驱动程序稳定一些。

3. 如果使用双处理器的主板,则保证对每个处理器的修改步骤一样。

4. 对于计算机上的所有硬件注意使用最新的驱动程序。

2.软件原因

尽管Intel的计算机中Windows是最流行的操作系统,由于Windows系统天生的脆弱性和BUG,应用程序的误操作可能导致操作系统的迅速瘫痪(有时操作系统本身也会莫名其

妙的瘫痪)。选择一个更稳定的程序开发环境是解决之道,如下几个步骤可以帮助你防止某些Access Violation的发生:

(1)尽管Windows 9X相当流行,Windows NT/2000还是从多方面被证实是一个稳定得多的环境,几乎对于所有的Windows代码平台而言都是这样。

(2)确保对于Windows NT/2000已经安装了最新的service pack。每次安装完新版的service pack,你会发现机器变得稳定了。

(3)为你使用的各种版本的Delphi装上当前的更新或补丁(BDE、ADO……),这是提前预防错误的好办法。尽量使用最新的Delphi补丁——Access Violation错误数量尤其是设计期的错误数会大大减少。

(4)如果你在IDE中经常随机遇到Access Violation错误,很有可能是你安装了一个不好的控件、包或者一个向导,它不是你使用的版本的Delphi所编写或编译的。试着一个一个卸载定制的控件(或者包)直到问题被解决,然后联系控件厂商关注这个问题的结果。

(5)检查一下计算机里是否有没用的东西和程序冲突。奇怪的软件程序和测试版的产品常常会导致Access Violation错误。

(6)如果系统设置有错误,那么Access Violation错误可能也会经常出现。如果你不停地遇到一个错误提示信息一样的Access Violation,记录下这些细节,然后通知可能导致这个错误的软件制造厂商。

这些就是我对设计期Access Violation错误的全部建议。

二、运行期的Access Violation

Delphi常见的运行期Access Violation错误有哪些?如何防止?

任何软件开发都会遇到这样的情况:你写好程序并测试,然后到处发送,结果用户告诉你它失败了。

你可能考虑用编译指令{$D}编译你的程序——Delphi可以建立一个有助于定位Access Violation错误的源代码的镜像文件。工程选项对话框(Project|Options|Linker & Compiler)让你指定你所需要的一切。对于单元文件,debug信息和单元的对象代码一起记录在unit 文件里了。编译使用这个单元的程序时,debug信息会增加单元文件的大小而且会增加额外的内存开销,但是它不会影响最终可执行文件的大小和运行速度。包含debug信息和镜像文件(Project|Options|Linker)选项的产品只有在{$D+} 编译指令下才会完成行信息。

Access violation通常只在程序的某一个方面表现出来。当问题第一次出现时,考虑一下用户进行了什么操作是很重要的,然后从这里寻找突破口。从用户的角度来看,你的程序中止了他们的工作,由他们来告诉你出现的问题似乎让你延期解决这个问题了。然而,与用户交流是你发现问题和改善程序的惟一有效方法。

现在你将可以知道在只给你冲突地址的情况下,如何轻松发现准确路径、源代码文件、发生Access violation错误的行:

“Search - Find Error…”。

当一个运行期Access violation出现时,你的用户得到的错误信息类似于如下情况:Access violation at address <十六进制值>

in module <应用程序名>

Read of address <十六进制值>

如果你的程序在Delphi IDE里包含debug信息编译,你可以定位到导致这个错误源代码这一行。

在Delphi程序中,一个最普遍导致Access Violation错误的原因是使用了一个没有被创建的对象。如果第二个地址<十六进制值>是FFFFFFF或0000000,十有八九就是你访问? 了一个没有被建立的对象。例如,你调用了一个表单的事件,但这个表单不是自动创建的,也没有代码实例化。

?procedure TfrMain.OnCreate(Sender: TObject);

var BadForm: TBadForm;

begin

//这里将会产生Access violation

BadForm.Refresh;

end;

假设BadForm在工程选项“Available Forms”窗口列表里——这个窗口是需要手工创建和释放的。在上面的代码里调用BadForm窗口的Refresh方法就会导致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.

这是你在设计程序时将会看到的信息,下一个信息框将会出现,然后程序失败了:Access violation at address 0043F193

in module 'Project1.exe'

Read of address 000000.

第一个十六进制数0043F193是发生Access violation的编译代码(Project1.exe)的运行期错误的地址。在IDE里选择菜单项“Search|Find Error…”,在对话框里输入错误发生的地址(0043F193)后点击“OK”按钮。Delphi将会重新编译你的工程文件,然后显示发生运行期错误的那一行代码,这里就是BadForm.Refresh这一行了。

下面列出了Delphi环境下导致Access violation错误的大部分常见原因。这个列表不是也不可能覆盖所有可能出现的Access violation的情况。请在论坛上发送你的Access violation信息,大家可以试着一起解决这个问题——真正的实际事例一般情况下比列出来的错误隐晦得多。

1. 调用一个不存在的对象

如上所述,大部分Access violation的合理原因是使用了没有被创建或者已经被释放的对象。为了防止这种类型的Access violation的发生,请确保你访问的任何对象都首先被创建了。例如,当一个Table定位在一个没有被创建的data module(从auto-crete窗口里移走了)里,你可能在窗体的OnCreate事件里打开这个表。

在下面的代码里,在调用一个已经被删除了的对象(b:TBitmap)事件后,一个Access violation 出现了:

var b:TBitmap;

begin

b:=TBitmap.Create;

try

//对b对象进行一些操作

finally

b.free;

end;

...

//由于b已经被释放,一个Access violation错误将会出现

b.Canvas.TextOut(0,0,'这是一个Access Violation');

end;

2. 不存在的API参数

如果你试图给Win API函数传递一个不存在的参数将会出现一个Access violation错误。解决此类Access violation错误的最好方法是查阅Win API帮助,看看这个API函数调用的参数信息以及参数类型。例如,总是保证不给一个缓冲参数传递一个无效指针。

3. 让Delphi释放

当一个对象拥有另一个对象时,让它给你做删除工作。因为默认情况下,所有的窗体(自动创建的)都属于Application对象。当一个应用程序结束时,它释放了Application对象,也就释放了所有窗体。例如,如果你在程序开始时自动创建了两个窗体(Form1/Unit1和Form2/Unit2),下面的代码就会导致Access violation错误的出现:

unit Unit1;

...

uses unit2;

...

procedure TForm1.Call_Form2

begin

Form2.ShowModal;

Form2.Free;

//Access violation错误将会出现

Form2.ShowModal;

end;

4. 杀死异常

永远不要破坏临时异常对象(E),处理一个异常会自动释放异常对象。如果你自己手动释放了异常对象,程序会试图再次释放它,那么就会出现Access violation错误:

Zero:=0;

try

dummy:= 10 / Zero;

except

on E: EZeroDivide do

MessageDlg('不能用0做除数!',mtError, [mbOK], 0);

E.free. ////Access violation错误将会出现

end;

5. 检索一个空字符串

一个空字符串是没有任何数据的。就是说,检索一个空字符串相当于访问一个不存在的对象,这将导致Access violation错误:

var s: string;

begin

s:='';

s[1]:='a';

//Access violation错误将会出现

end;

6. 直接引用指针

你必须间接引用指针,否则你会改变指针地址并可能会破坏其他存储单元:

procedure TForm1.Button1Click(Sender: TObject);

var

p1 : pointer;

p2 : pointer;

begin

GetMem(p1, 128);

GetMem(p2, 128);

//下一行导致Access violation错误

Move(p1, p2, 128);

//下一行方法正确

Move(p1^, p2^, 128);

FreeMem(p1, 128);

FreeMem(p2, 128);

end;

这篇文章转自哪里我已记不清了,希望有问题的可以提问一起讨论,有其他解决办法的能不吝赐教

点评:打开EXE程序提示时,提示:access violation at address xxxxxxxxx 后边一大堆,这种情况下应该怎么解决呢?百度了一下,原来很简单现在把解决方法公布出来:右击“我的电脑”。单击“属性”。

在“系统属性”中单击“高级”。

在“性能”中单击“设置”。

在“性能选项”中单击“数据执行保护”。

单击“添加”。选择要运行的程序。

OK。就这么简单。

Access Violation(非法访问)错误的解决方法

Access Violation(非法访问),General Protection Fault(一般保护性错误)或者Invalid Page Fault (无效页面错误),虽然说法不一样,但本质上总是由同一种错误引起的。Access Violation 常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。

Access violation at address <十六进制值>

in module <应用程序名>

Read of address <十六进制值>

Windows用户可能经常会看到类似于错误提示:“Error:Access violation at address 836556F8(004096da). Read of address 836556F8(00401000)”。作为一个Delphi程序开发者,遇到这种错误的机会比其他用户更多(^_^)。

一旦Windows要在它被分配的存储区之外写数据信息,它就会覆盖其他程序甚至操作系统的命令或数据。一旦发生了这种情况,操作系统将会瘫痪或者以某种形式关闭,你必须重新启动计算机。例如,在Windows NT/2000下一个程序遇到这种错误时,Dr. Watson出现并且停止了该程序,捕获了一些快速的细节状态,再把它们用文本形式记录下来。Access Violation是某些最令人气恼的Windows程序遇到的错误之一。本文的目的就是让你找到Delphi中Access Violation的解决之道。首先声明一点,Access Violation和Microsoft Access 没有任何关系。

用Delphi开发程序时,我们可以把遇到的Access Violation分成两大类:运行期和设计期。

一、设计期的Access Violation

1.硬件原因

在启动或关闭Delphi IDE以及编译一个Delphi工程时容易出现设计期的Access Violation。在你的计算机运行中出现Access Violation信息可能由各种各样的原因引起,包括系统BIOS、操作系统或者是硬件驱动线,有些声卡、显卡、网卡实际上也会导致这种错误。为什么这么说?计算机里的每一块卡都有它的设备驱动程序。对于不同的制造商、不同版本的Windows 或者不同版本的Delphi都可能会遇到不同的问题。如下的几个步骤可能有助于你解决遇到的这些问题:

1. 按照必要的步骤来证实你安装的驱动程序之间没有冲突。

2. 有时降低显示分辨率可能会使某些古怪的显卡驱动程序稳定一些。

3. 如果使用双处理器的主板,则保证对每个处理器的修改步骤一样。

4. 对于计算机上的所有硬件注意使用最新的驱动程序。

2.软件原因

尽管Intel的计算机中Windows是最流行的操作系统,由于Windows系统天生的脆弱性和BUG,应用程序的误操作可能导致操作系统的迅速瘫痪(有时操作系统本身也会莫名其妙的瘫痪)。选择一个更稳定的程序开发环境是解决之道,如下几个步骤可以帮助你防止某些Access Violation的发生:

(1)尽管Windows 9X相当流行,Windows NT/2000还是从多方面被证实是一个稳定得多的环境,几乎对于所有的Windows代码平台而言都是这样。

(2)确保对于Windows NT/2000已经安装了最新的service pack。每次安装完新版的service pack,你会发现机器变得稳定了。

(3)为你使用的各种版本的Delphi装上当前的更新或补丁(BDE、ADO……),这是提前预防错误的好办法。尽量使用最新的Delphi补丁——Access Violation错误数量尤其是设计期的错误数会大大减少。

(4)如果你在IDE中经常随机遇到Access Violation错误,很有可能是你安装了一个不好的控件、包或者一个向导,它不是你使用的版本的Delphi所编写或编译的。试着一个一个卸载定制的控件(或者包)直到问题被解决,然后联系控件厂商关注这个问题的结果。

(5)检查一下计算机里是否有没用的东西和程序冲突。奇怪的软件程序和测试版的产品常常会导致Access Violation错误。

(6)如果系统设置有错误,那么Access Violation错误可能也会经常出现。如果你不停地遇到一个错误提示信息一样的Access Violation,记录下这些细节,然后通知可能导致这个错误的软件制造厂商。

这些就是我对设计期Access Violation错误的全部建议。

二、运行期的Access Violation

Delphi常见的运行期Access Violation错误有哪些?如何防止?

任何软件开发都会遇到这样的情况:你写好程序并测试,然后到处发送,结果用户告诉你它失败了。

你可能考虑用编译指令{$D}编译你的程序——Delphi可以建立一个有助于定位Access Violation错误的源代码的镜像文件。工程选项对话框(Project|Options|Linker & Compiler)让你指定你所需要的一切。对于单元文件,debug信息和单元的对象代码一起记录在unit 文件里了。编译使用这个单元的程序时,debug信息会增加单元文件的大小而且会增加额外的内存开销,但是它不会影响最终可执行文件的大小和运行速度。包含debug信息和镜像文

件(Project|Options|Linker)选项的产品只有在{$D+} 编译指令下才会完成行信息。

Access violation通常只在程序的某一个方面表现出来。当问题第一次出现时,考虑一下用户进行了什么操作是很重要的,然后从这里寻找突破口。从用户的角度来看,你的程序中止了他们的工作,由他们来告诉你出现的问题似乎让你延期解决这个问题了。然而,与用户交流是你发现问题和改善程序的惟一有效方法。

现在你将可以知道在只给你冲突地址的情况下,如何轻松发现准确路径、源代码文件、发生Access violation错误的行:

“Search - Find Error…”。

当一个运行期Access violation出现时,你的用户得到的错误信息类似于如下情况:Access violation at address <十六进制值>

in module <应用程序名>

Read of address <十六进制值>

如果你的程序在Delphi IDE里包含debug信息编译,你可以定位到导致这个错误源代码这一行。

在Delphi程序中,一个最普遍导致Access Violation错误的原因是使用了一个没有被创建的对象。如果第二个地址<十六进制值>是FFFFFFF或0000000,十有八九就是你访问? 了一个没有被建立的对象。例如,你调用了一个表单的事件,但这个表单不是自动创建的,也没有代码实例化。

?procedure TfrMain.OnCreate(Sender: TObject);

var BadForm: TBadForm;

begin

//这里将会产生Access violation

BadForm.Refresh;

end;

假设BadForm在工程选项“Available Forms”窗口列表里——这个窗口是需要手工创建和释放的。在上面的代码里调用BadForm窗口的Refresh方法就会导致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.

这是你在设计程序时将会看到的信息,下一个信息框将会出现,然后程序失败了:Access violation at address 0043F193

in module ’Project1.exe’

Read of address 000000.

第一个十六进制数0043F193是发生Access violation的编译代码(Project1.exe)的运行期错误的地址。在IDE里选择菜单项“Search|Find Error…”,在对话框里输入错误发生的地址

(0043F193)后点击“OK”按钮。Delphi将会重新编译你的工程文件,然后显示发生运行期错误的那一行代码,这里就是BadForm.Refresh这一行了。

下面列出了Delphi环境下导致Access violation错误的大部分常见原因。这个列表不是也不可能覆盖所有可能出现的Access violation的情况。请在论坛上发送你的Access violation信息,大家可以试着一起解决这个问题——真正的实际事例一般情况下比列出来的错误隐晦得多。

1. 调用一个不存在的对象

如上所述,大部分Access violation的合理原因是使用了没有被创建或者已经被释放的对象。为了防止这种类型的Access violation的发生,请确保你访问的任何对象都首先被创建了。例如,当一个Table定位在一个没有被创建的data module(从auto-crete窗口里移走了)里,你可能在窗体的OnCreate事件里打开这个表。

在下面的代码里,在调用一个已经被删除了的对象(b:TBitmap)事件后,一个Access violation 出现了:

var b:TBitmap;

begin

b:=TBitmap.Create;

try

//对b对象进行一些操作

finally

b.free;

end;

...

//由于b已经被释放,一个Access violation错误将会出现

b.Canvas.TextOut(0,0,’这是一个Access Violation’);

end;

2. 不存在的API参数

如果你试图给Win API函数传递一个不存在的参数将会出现一个Access violation错误。解决此类Access violation错误的最好方法是查阅Win API帮助,看看这个API函数调用的参数信息以及参数类型。例如,总是保证不给一个缓冲参数传递一个无效指针。

3. 让Delphi释放

当一个对象拥有另一个对象时,让它给你做删除工作。因为默认情况下,所有的窗体(自动创建的)都属于Application对象。当一个应用程序结束时,它释放了Application对象,也就释放了所有窗体。例如,如果你在程序开始时自动创建了两个窗体(Form1/Unit1和Form2/Unit2),下面的代码就会导致Access violation错误的出现:

unit Unit1;

...

uses unit2;

...

procedure TForm1.Call_Form2

begin

Form2.ShowModal;

Form2.Free;

//Access violation错误将会出现

Form2.ShowModal;

end;

4. 杀死异常

永远不要破坏临时异常对象(E),处理一个异常会自动释放异常对象。如果你自己手动释放了异常对象,程序会试图再次释放它,那么就会出现Access violation错误:

Zero:=0;

try

dummy:= 10 / Zero;

except

on E: EZeroDivide do

MessageDlg(’不能用0做除数!’,mtError, [mbOK], 0);

E.free. ////Access violation错误将会出现

end;

5. 检索一个空字符串

一个空字符串是没有任何数据的。就是说,检索一个空字符串相当于访问一个不存在的对象,这将导致Access violation错误:

var s: string;

begin

s:=’’;

s[1]:=’a’;

//Access violation错误将会出现

end;

6. 直接引用指针

你必须间接引用指针,否则你会改变指针地址并可能会破坏其他存储单元:

procedure TForm1.Button1Click(Sender: TObject);

var

p1 : pointer;

p2 : pointer;

begin

GetMem(p1, 128);

GetMem(p2, 128);

//下一行导致Access violation错误

Move(p1, p2, 128);

//下一行方法正确

Move(p1^, p2^, 128);

FreeMem(p1, 128);

FreeMem(p2, 128);

end;

这些就是我对运行期Access Violation错误的全部建议,我希望你们也能对你们程序出现的Access Violation错误提出一些看法。

详细出处参考:https://www.360docs.net/doc/984362553.html,/softjc/55595.html

英语四级写作常见错误汇总

英语四级写作常见错误汇总 大学英语写作是检验大学生英语实际运用能力的一种重要方法,是衡量大学生英语综合水平和应用能力的一个重要指标,也是大学英语四级考试的一个重要内容。但从全国大学英语四级考试的情况来看,学生写作部分的平均得分率一直最低。这反映出大学生英语写作能力相对薄弱。从某种程度上来看,这一现象归因于两个主要因素:1. 学生英语写作能力的开发滞后;2. 学生写作能力出现石化现象。这两种主要症状清晰地反映在学生的作文中。 1. 单词拼写错误 例1. (误) I am writting a letter in reply to you. (正) I am writing a letter in reply to you. 例2. (误) You said you wanted to come to my colege. (正) You said you wanted to come to my college. 例3. (误) You must have some probelems. (正) You must have some problems. 例句1 是字母添加错误,即把不该双写的字母双写了;而例句2 是字母减略错误,即把双写的字母拼写成单写;例句3 是典型的语音变异型错误,为加音错误。这些错误均发生在单词的非重读音节中,这说明音响的强度对单词的拼写有相当程度的影响。 2. 时态方面的错误 写议论文一般用现在时态。只有举例,提到过去的事才会用

到过去时。 3 主谓,人称等违反一致性方面的错误 写一个句子,乃至一篇文章里人称始终要保持一致,不能一会儿用第三人称,一会儿又用第一人称。 4 修饰语的位置错误 a) Without television, people cant get information which comes from other parts of the world immediately. Immediately既可以修饰comes:得到迅速从各方面传来的消息,也可以修饰get:迅速得到从各方面传来的消息,意思含糊不清,所以要把它放到cant的后面。 b) To participate in class discussion, a lot of books have to be read. 不定式短语的逻辑主语决不是o lot of books,为了把逻辑关系表达清楚,要么把不定式短语改成If one wants to participate in class discussion,要么把主句改成you have to read a lot of books。 5. 语法结构平行方面的错误 a) With the computer, one can do shopping, banking, and read at home. 用语法平行结构原则来衡量。前面用ing 形式,最后一个用动词原形read是不妥的,为了和do shopping, do banking保持结构上平行,接下来的一个内容要用reading。 b) Participating in class discussion is not only good for the

公文写作常见问题分析

一、标题常见问题分析 公文标题是公文内容的摄要,在发挥公文效能上起着举足轻重的作用。但受诸多因素的影响,公文标题时常出现一些毛病,现归纳为以下八个方面,并作粗浅分析。 (一)要素不全 完整的、规范的公文标题,一般应具备“三要素”,即发文机关名称、事由、文种,以标明由谁发文、为什么发文和用什文种发文。2012年7月1日起施行的《党政机关公文处理工作条例》作出明确规定:“公文标题应当准确简要地概括公文的主要内容(事由)并标明公文种类(文种),一般应当标明发文机关”。当然,特殊情况下,也可省略标题中的一至二个要素,但不可随意省略,要相对规范,否则,将毛病百出。 常见的病例有三种: 一是随意省略事由。如《××县人民政府决定》,由于省略事由,受文者看不出标题所反映的主要内容、事项和基本观点,不利于学习、贯彻、领会、落实文件精神。除一些非重要的、极其简短的通知、通告和特殊机关发出的特定公文外(如中华人民共和国国务院、司法部门发出的国务院“公告”、“主席令”、“布告”等),一般情况下不得省略事由。 二是随意省略发文机关。如:一份没有版头的文件标题《关于加强农村党支部建设的报告》,待上级看完文件后,才从落款处知道文件是哪个机关发出的,既不庄重,也不严肃,更不利于公文运转和办理。具有重大决策和事项的下行文不得省略发文机关;没有版头的下行文、上行文均不得省略发文机关,但有版头(发文机关标识)的,也可不标明发文机关。 三是随意省略文种。使受文者不得要领,失去公文的严肃性。如《××乡人民政府关于召开春耕生产会议的有关事宜》。 (二)乱用文种 主要表现在三个方面:

一是混用文种。如《全国人大常委会党组关于县乡换届选举问题的请示报告》,这里把“请示”、“报告”两个不同的文种混淆在一起使用,不论是已经废止的《国家行政机关公文处理办法》,还是自2012年7月1日起施行的《党政机关公文处理工作条例》,都没有“请示报告”这一文种,明显不妥。从该“请示报告”的内容看,应使用批转式“报告”这一文种。 二是错用文种。有的该用“请示”的,却用了“报告”,而该用“报告”的反而用的是“请示”;有的该用“函”的却用“通知”;有的把没列为文种的公文种类作为文种使用,如“条例”、“规定”、“办法”、“总结”、“计划”等,以上这些,都不可作为文种使用,不可直接行文。《党政机关公文处理工作条例》所确定的公文文种共有15种,决议、决定、命令(令)、公报、公告、通告、意见、通知、通报、报告、请示、批复、议案、函、纪要。除此之外,均不可直接行文,但可作为“印发”、“颁发”或“通知”的“附件”行文。 三是生造文种。如《关于调整工资的补充说明》、《关于机构改革中有关问题的解释》等,这里的“补充说明”、“解释”均不应作为文种使用,以上两个标题可修定为《××(发文机关)关于印发调整工资补充说明的通知》、《××(发文机关)关于印发机构改革中有关问题解释的通知》。还有的把“安排”、“要点”、“细则”这些既不是公文文种又不是应用文体种类的东西常常作为公文文种直接行文,是错误的。 (三)隶属不清 不该用“批转”的,用了“批转”;该用“批转”的却用了“印发”、“转发”,分不清三者之间的隶属关系和词性。如《××县政府办公室关于批转××市长在××会议上讲话的通知》,这里的“批转”使用不当,应该使用“印发”或“转发”。因为“批转”具有“批准转发”之意,是上级对下级报告的认同并转发下去贯彻落实的。下级对上级机关的文件和上级领导同志的讲话、批示等不可使用“批转”,否则将混淆了上下级的隶属关系。 (四)提炼不精。主要表现在标题冗长上。如《×××(发文机关)关于招收退休退职职工子女就业,进行合理安

英语四级写作常见问题及解决方案

最牛英语口语培训模式:躺在家里练口语,全程外教一对一,三个月畅谈无阻! 洛基英语,免费体验全部在线一对一课程:https://www.360docs.net/doc/984362553.html,/ielts/xd.html(报名网址) 导读:英语四级写作常出现的问题,及解决办法,熟悉英语写作的几个重要概念,学会遣词造句,词汇的准确性,当不会写,或者写不好的时候,要想写好作文,题材不同,思路不同...... “折戟沉沙铁为消,自将磨洗认前朝。”每次大学英语四级考试,许多考生总会在这场“无硝烟的战斗”中饱受煎熬。他们总会存在这样一个问题,四级考试为什么这么难,什么原因导致自己总是通不过四级考试,又该如何提高英语成绩,如何通过大学英语四级考试(CET-4)。特别是对于很多学艺术的同学而言,能否顺利通过四级考试将直接关系到他们的保研资格与前途。针对以上问题,我特意写了这篇文章,通过教学与实践,对考生存在的问题以及解决方法作全面地解剖,希望对各位考生能够有所帮助。 四级考试从1987年以来已经走过了23个年头。2006年6月实行新四级考试,12月份开始全国将全面推行新四级考试。对于新四级考试,我们可以清楚地看到,虽然考试难度较之以前有所偏易,但是考试本身对于英语的全面考察却是加强了。来源:上考试大网校,考试轻松过关 新四级考试,题型分为写作、快速阅读、听力、基本阅读、选词填空、完型填空和汉译英。就我个人而言,写作、听力和阅读(快速阅读和基础阅读)是重点,因此考生对于这三部分的得分多少,将直接决定着其考试分数的高低。 下面就让我们依次来解析一下。 第一、写作。 (一)存在问题 1.不会写 所谓不会写指的是,当考试拿过一篇文章不知如何下手,不知如何提笔进行写作。笔者认为主要是存在以下两个原因:一是考生的确无话可说;二是心里虽然有话,但是拿捏不准该写哪句为妙。于是思前想后、犹豫不决,始终不敢提笔进行写作。 2.写不好 所谓写不好就是,拿过作文题,没有明确的写作思路,不按套路出牌;或是简单汉语逻辑思维写作,不符合英语写作标准,近而没有文采。原因在于:第一是平时没有养成良好的写作习惯;第二对于英语写作的句式特点以及整体文章结构框架不了解。

小学数学计算错误的原因与应对措施

小学数学计算错误的原因与应对措施 引言 计算教学在小学数学教学中占有较大的比例, 它贯穿于整个数学教学的过程当中。学生计算能力的强弱从某种意义上能够反映出一个学生学习态度的好坏和学习能力的高低。对于学生的错误原因, 很多人仅仅归咎于学生的“粗心大意”。事实上, “粗心”只是暂时的, 有它的偶然性, 很多学生计算时犯的错误是不可避免的, 所以我们就不能简单地把它归咎于“粗心”。小学生的心理和思维有其固有的特点, 计算中产生的错误有其特有的复杂性, 从笔者多年的教学经验来看, 大致可以分为以下几类。 一、小学生计算错误的原因分析 (一) 注意力不集中 注意是一种具有指向性的心理活动, 小学生心理学研究表明:小学阶段尤其是低年级阶段, 无意注意占主导地位, 注意的集中性、稳定性、分配性和转移性发展不成熟, 注意的广度小[1]。同时, 小学生由于注意力范围的局限性, 在同一时间内他们很难将自己的注意力分配在多个活动对象上, 因此, 在计算上常常会出现顾此失彼的现象。 (二) 思想不重视 计算题往往呈现的形式比较单一, 趣味性不强, 许多学生就会错误地认为计算题很简单, 在思想上就降低了重视程度, 总认为快点把结果算出来就可以了;当遇到数据较多或较大时, 往往表现出没有耐心, 很快地将题目一扫而过, 对于运算顺序和计算方法根本就不思考, 一律从前往后算, 这样必然会导致错误的产生。 (三) 基础不扎实 部分学生对简单的20以内的加减法以及表内乘法掌握不熟练, 对一些常见的简便计算形式不熟悉。例如125×8, 15×4, 看着眼熟, 但就是不知道用哪种简便计算形式, 得数是多少就是算不出来, 这也是导致计算错误的原因之一。 (四) 算理不理解 在学习小数加减法时, 部分学生不能正确理解小数点以及小数点后各数位

公文常见错误分析及对策

公文常见错误分析及对策 公文写作 公文常见错误分析及对策 公文是公务文书的简称,是处理公务、管理事务的一种书面文字工具。其重要特点就是行文的规范化、制度化和标准化。对于公文格式,国家技术监督局制定了《国家行政机关公文格式》(GB/T9704—1999,以下简称《格式》),国务院办公厅制定了《国家行政机关公文处理办法》(2001年1月1日起施行,以下简称《办法》),中央办公厅制定了《中国共产党各级领导机关文件处理条例(试行)》(以下简称《条例》)。但是不少单位和部门制发文件,并没有严格按照规定、要求去做,而是各行其是,制发文件存在很大的随意性,造成公文格式的不规范,严重影响了公文的严肃性、公正性。更在一定程度上影响了公文的质量和效能,影响了政 府的行政效率,因此必须引起高度重视。 一、存在的问题 (一)文种使用乱。一是生造文种。把没列为文种的公文种类作为文种使用。《办法》所确定的公文文种共有13类14种,即:命名、令,决定,公告,通告,通知,通报,议案,报告,请示,批复,意见,函,会议纪要。除此之外,均不可直接行文,但可作为"印发"、"颁发"式"通知"的"附件"行文。例如,《关于××市区退休人员一次性缴纳医疗费分期缴费的具体操作规定》、《关于使用社会保障卡有关问题的说明》等,这里的"操作规定"、"说明"均不应作为文种使用,可以改成《××关于印发市区退休人员一次性缴纳医疗费分期缴费的具体操作规定的通知》、《××关于印发使用社会保障卡有关问题的说明的通知》,不能作为文种使用的还有"条例"、"规定"、"办法"、"总结"、"计划"等,有的甚至把"安排"、"要点"、"细则"这些既不是公文文种又不是应用文体种类的东西常常作为公文文种直接行文,都是错误的。

四级写作常见错误及经典句型

回顾历年四级作文名师改卷感悟及针对建议 2009年6月CET4作文预测 一、就业:Directions: for this part you are allowed 30 minutes to write a composition on the topic jobs for graduates. you should write at least 120 words and base your composition on the outline below: 1.大学生难找工作 2.原因很多 3.解决的办法 二、四川地震(爱心):【相关话题】为四川地震灾区的灾民写一封募捐信;为四川地震灾区的灾民写一封慰问信 【相关词汇】 devastating adj.破坏性的;毁灭性的 a devastating earthquake破坏性地震 大地震:the massive earthquake 地震灾区:quake-hit area/ quake-stricken area 重灾区:the worst-hit area 地震灾民:quake victim 震中:epicenter 余震:aftershock 医务工作者:medical worker 救援者:rescuer 伤者:the injured 失踪者:the missing 废墟:debris/ruin 捐款:to donate money 献血:blood donation 捐物:to donate appliances 感人的:moving, touching 精神创伤:mental trauma 身体创伤:physical trauma 只要有一线希望,我们就要尽百倍努力:If only there is the slighted hope, we will spare no effort. 只要有一个幸存者,我们就绝不会放弃:If only there is one survivor in the debris, we will never give up rescuing. 三、大学是否应该允许学生在校外租房住宿?【相关话题】你是否支持在校大学生在上学期间结婚? 【相关词汇】(非婚)同居:cohabitate 离婚:divorce

小学数学四年级计算错误原因分析

小学数学四年级计算出错原因分析 通川区一小 郝莉莉 刘旭东 1、注意力发展不完善 小学生的注意力既不易集中又不善于分配,有意注意总是让位于无意注意,并且注意到的范围也比较狭窄 。 学生在观察试题中抽象的数字 、 运算符号时往往只注意到一些孤立的现象,不能看出它们之间的联系 。 对事物的观察缺乏整体性,而且注意力集中的时间很短暂,因此常发生抄错数字(如图1) 、 写或算错符号(如图2,3)以及漏写数字等所谓的粗心错误 。 例如图1中,前面第一步运算顺序及计算都没问题,第二部就将259错写成25,造成计算结果错误。 图(1) 图(2) 图(3) 2、基础知识掌握不牢 定律、概念、公式和法则是运算的主要依据之一,学生基础知识掌握不牢、算理不明、运算法则、顺序、定律运用不正确等知识性错误信息在头脑形成,是主要原因,如图(4)(5)(6)(7),运用乘法交换律及结合律进行乘法的简算时,学生知道直接凑整和分解凑整进行简算,但由于对乘法意义的模糊,不知道什么时候算式之间用加号 ,什么时候用乘号,之所以想到加号,是与乘法分配律相混淆。如图(8)(9)就是对乘法分配律的数据及结构两大特征没有清晰的认识导致的错误。 图(4) 图(5) 图(6)

图(7)图(8)图(9) 3、经验负迁移 经验迁移有着正面的好处,有时也有负面的影响。小学生的思维能力薄弱,主要依赖感性经验的传递,加之思维定势影响较大,在计算方面,往往看不到题目的变化,仍旧以旧经验去解决新问题。总是受到容易计算部分、能简便计算、比较熟悉部分等强刺激的作用,以至于把运算的法则、定律等知识忽略掉,对于相似的知识点往往难以区分。例如: 计算25×4÷25×4这道题时,25×4=100这是一个强烈的刺激信息,学生一味想简算,却忽略了运算顺序,又如图(10 )这道题出现在乘法分配律单元考试卷中,定势思维的与乘法方面的巧算联系起来,像处理347×98,把它化成347×(100-2)那样,直接选A选项,却忽略了这里的运算时加法。 图(10) 4、不良学习习惯 认真的学习态度和良好的学习习惯决定了学生计算的正确性。部分学生计算出错的原因最主要就是没有良好的学习习惯。首先不能认真审题,例如图(11)没有仔细的分析图文的联系,把微波炉的单价错写成电饭煲的单价;图(12)还没把算式看完就忙着计算,造成计算错误;其次是没有认真书写的习惯,字迹潦草,自己写的数自己不认识,或者抄错写错数;再就是没有检查、检验的习惯,计算后不知道回过头去检查、验算。 图(11)图(12)

公文写作常见错误及病例分析报告

公文写作常见错误及病例分析 一、公文常见错误 (一)行文中的常见错误 1.滥发文件。主要表现:(1)所发公文属可发可不发之列。(2)所发公文只是照抄照转上级的公文(翻印即可,不必转发)。(3)所发公文容空洞,无具体措施,不解决问题。(4)行文所涉及的问题可用口头请示、汇报或开会等形式解决。(5)行文所涉及的容已在报上全文公布过。(6)在部门之间意见分歧,未经协商一致时就行文。 2.行文关系混乱。主要表现:(1)应该党政分开行文的未分开行文。(2)应该一个机关单独行文的搞成几个机关联合行文。(3)该职能部门行文的“升格”为党委、政府级行文。(4)该党委、政府级行文的“降格”为职能部门行文。 (二)文种使用中的常见错误 1.自制文种。在正式文种之外,随心所欲,生造公文文种并俨然以正式公文行文。常见的有:“请示报告”、“工作思路”、“情况”、“汇报”、“申请”、“重声明”等。 2.误用文种。把属于机关其他应用文,特别是事务文书中的文种,误作为正式公文文种使用的情况。常见的有:把计划类文种“要点”、“打算”、“安排”、“设想”等作为公文文种直接使用,如《××单位××××年工作要点》。把属于总结类的文种“小结”、“总结”,以及把属于规章制度类的文种“办法”、“规程”、“须知”、“实施细则”等作为正式文种直接使用。但是,如果将上述应用文用转发或印发通知的形式发布,则是规用法。如“××单位关于印发2017年工作要点的通知”。 3.混用文种。不按文种的功能和适用围去选用文种,而造成临近文种相互混用,导致行文关系不清,行文目的不明,行文性质混淆。常见的有:“公告”与“通知”、“决议”与“决定”、“请示”与“报告”、“请示”与“函”混用。主要表现为将通告误用为通知,将通知误用为通告,将请示误用为报告,将报告误用为请示,将“请示”、“报告”合用为“请示报告”,“请示”和“报告”本身是两个文种,将决定误用为决议,将决议误用为决定,将函误用为请示或报告,将复函误用为批复。

大学英语四级写作资料

大学英语四级写作资料 一、大学英语四级考试大纲(2006 修订版)对写作的要求 写作选用考生所熟悉的题材。考生根据规定的题目和所提供的提纲、情景、图片或图表等,写出一篇不少于120词的短文。写作要求是思想表达准确、意义连贯、无严重语法错误。考试时间30分钟。 写作部分要求考生用英语进行短文写作,思想表达准确、意义连贯、无重大语法错误。写作部分考核的技能是: A.思想表达 1.表达中心思想 2.表达重要或特定信息 3.表达观点、态度等 B.篇章组织 4.围绕所给的题目叙述、议论或描述,突出重点 5.连贯地组句成段,组段成篇 C.语言运用 6.运用恰当的词汇 7.运用正确的语法 8.运用合适的句子结构 9.使用正确的标点符号 10.运用衔接手段表达句间关系(如对比、原因、结果、程度、目的等) D.写作格式 11.运用正确的符合英语表达习惯的写作格式 大学英语四级考试写作部分要求考生达到《教学要求》中的一般要求,即“能完成一般性写作任务,能描述个人经历、观感、情感和发生的事件等,能写常见的应用文,能就一般性话题或提纲在半小时内写出至少120词的短文,内容基本完整,用词恰当,语意连贯。能掌握基本的写作技能。” 二、四级考试写作评分标准 (1)本题满分为15分。 (2)阅卷标准共分四等:2分、5分、8分、11分及14分。各有标准样卷1-2份。 (3)阅卷人根据阅卷标准,对照样卷评分,若认为与某一分数(如8分)相似,即定为该分数(即8分); 若认为稍优或稍劣于该分数,则可以加一分(即9分)或减一分(即7分)。但不得加或减半分。(4)评分标准 ?2分:条理不清,思路紊乱,语言支离破碎或绝大部分句子均有错误,且多数为严重错误。 ?5分:基本切题。思想表达不清楚,连贯性差。有较多的严重语法错误。 ?8分:基本切题。思想表达清楚,文章尚连贯,但语法错误较多,其中有一些是严重错误。 ?11分:切题。思想表达清楚,文字连贯,但有少量语法错误。 ?14分:切题。思想表达清楚,文字通顺,连贯性较好,基本上无语法错误。仅有个别小错误。 ?注:白卷、所写内容与题目毫不相关或只有几个孤立的词而无法表达思想,则给0分。 (5)字数不足应酌情扣分。 题目中给出主题句、起始句和结束句,均不得记入所写字数。 只写一段者:0-4分;只写两段者,0-9分(指规定三段的作文) (6)各档作文相当于百分制的得分,列表如下,称为得分率。其中9分的得分率为60分(相当于百分制的60分)。

公文常见错误分析及对策

公文常见错误分析及对策 一、存在的问题 (一)文种使用乱。一是生造文种。把没列为文种的公文种类作为文种使用。《办法》所确定的公文文种共有13类14种,即:命名、令,决定,公告,通告,通知,通报,议案,报告,请示,批复,意见,函,会议纪要。除此之外,均不可直接行文,但可作为"印发"、"颁发"式"通知"的"附件"行文。例如,《关于技术练兵比武的具体操作规定》、《关于使用统缴证有关问题的说明》等,这里的"操作规定"、"说明"均不应作为文种使用,可以改成《××关于印发技术练兵比武的具体操作规定的通知》、《××关于印发使用统缴证有关问题的说明的通知》,不能作为文种使用的还有"条例"、"规定"、"办法"、"总结"、"计划"等,有的甚至把"安排"、"要点"、"细则"这些既不是公文文种又不是应用文体种类的东西常常作为公文文种直接行文,都是错误的。 (二)混用文种。常见的是把相近的"请示"和"报告"两种文种张冠李戴。例如:《××关于批准成立运输协会的报告》,《××关于办公自动化所需经费的报告》。两个标题内容十分明确,就是要求上级解决问题,应该用"请示"而不是"报告"。报告是"向上级机关汇报工作、反映情况、答复上级机关的询问"的,这类报告,只要把情况汇报、反映清楚即可,目的是让上级和领导了解发展情况,掌握工作进度,做到心中有数,不需要回复;而请示是"向上级机关请求指示、

批准"的,需要回复,两者在使用上有很大的区别。有时也存在"请示"和"函"混用。《办法》规定:不相隶属单位之间相互商洽工作、询问和答复问题,请求批准和答复审批事项是用函。可是有些单位当有求于对方(不相隶属单位)时却用请示。 (三)规矩格式乱。《格式》中就公文的格式、标准都作出了明确的规定。在具体行文中常见错误有: 1.排版规格不当。公文标题应在红色反线下空2行,用2号小标宋体字,正文用3号仿宋体字,一般每面排22行,每行排28个字。而在实际操作中往往上各行其是,严重影响了公文的严肃性。 2.发文号标注不规范。主要表现在,一是错用括号。如,绵交发(2006)240号;二是用虚数。如绵交发〔2006〕005号;三是字体字号不标准。《格式》规定:发文字号,用3号仿宋体字,居中排布;年份、序号用阿拉伯数码标识;年份应标全称,用六角括号"〔〕"括入;序号不编虚位(即1不编为001),不加 "第"字。特别对于字号和字体,有的小于3号;有的用小标宋体字,有的用楷体,也有的用黑体,五花八门。 3.标题滥用符号。《办法》第三章公文格式第十条第六款中明确规定"公文标题中除法规、规章名称加书名号外,一般不用标点符号"。但是在实际中,滥用符号的例子屡见不鲜。如"关于转发×市政府《关于做好一节一会相关工作的紧急通知》的通知"、"关于转发×局《关于实行在网上公示建筑企业不良行为的通知》的通知",以上两例中的"《》"符号都不应该使用,应改为:关于转发×市政府关于做好一节一会相关工作的紧急通知的通知"、"关于转发×局关于实行在网上公示建筑企业不

英语四级写作常见九种语法错误

2017年6月英语四级写作常见九种语法错误 * 一、指代不清指代不清主要指代词与被指代的人或物关系不清,或者先后所用的代词不一致。 例1:Mary was friendly to my sister because she wanted her to be her bridesmaid.玛丽和我姐姐很要好,因为她要她做她的伴娘。解析:读完上面这一句话,读者无法明确地判断两位姑娘中谁将结婚,谁将当伴娘。如果我们把容易引起误解的代词加以明确,意思就一目了然了。改为:Mary was friendly to my sister because she wanted my sister to be her bridesmaid. 例2:And we can also know the society by serving it yourself.我们还可以通过亲身参与、体验的方式了解社会。解析:句中人称代词we和反身代词yourself指代不一致。改为:And we can also know the society by serving it ourselves. 二、修饰语错位英语与汉语不同,同一个修饰语放在句子中不同的位置,可能会引起句子含义的变化。这一点常被同学们所忽视,因而造成了不必要的误解。 例:I believe I can do it well and l will better know the world outside the campus.我相信我会做得很好,而且我将对校园外的世界有更好的了解。解析:better位置不当,应置于句末。改为:I believe I can do it well and l will know the world outside the campus better. 三、词性误用词性误用常表现为:介词错用为动词,形容词错用为副词,名词错用为动词等。 例:They earn some money so that they can independence.他们挣钱是为了自立。解析:independence是名词,句中误用为动词。改为:They earn some money so that they can be independent. 四、句子不完整在口语中,交际双方可借助手势、语气等来理解对方的意思,不完整的句子也完全可以被理解。可是书面语就不同了,句子结构不完整会令意思表达不清,这常常发生在主句写完以后,学生又想加些补充说明的情况下。 例:There are many ways to know the society. For example, by TV, radio,newspaper and soon.了解社会的途径有很多,比如,可以通过电视、广

大学英语四级写作错误类型

大学英语四级写作强化训练常见错误分析 2016-4 目录: 第一课指代 第二课垂悬修饰语 第三课误置修饰语 第四课平行结构 第五课。。。 第一课指代 在同一句中,代词与其指代的前述名词应在人称、数、格上保持一致。由于指代不符或不确而造成的错句在写作中是常见的,应该注意以下几种情况。 1.代词与前述词的人称或数不符 Students who wish to take linguistics are asked to sign his name on a sheet of paper. 代词his应改为their,与前述词students保持复数第三人称的一致。 Each member of the board will have an opportunity to submit their own plan. 代词their应改为his,与前述词each member保持单数第三人称的一致。 2.代词与前述词格的不符 He is the person whom I think deserves the first award. 关系代词whom的前述词是the person,在定语从句中用作主语,故应改为who。 As a matter of fact, it was her who took the picture of the temple. 代词her 在“it was ... who...”的强调结构中是要强调的主语,用主格表示,故应改为she。3.代词在句中的指代错误 When he thrust a stick into the rat hole, it ran out and bit him. 根据本句用词,代词it 在句中指代的只能是rat hole(鼠洞),而不是rat,由于意义混淆而造成指代错误,应将it明确改为the rat。 4.代词在句中的指代不明 My father is an electrician, but I am not interested in it. 根据本句用词,代词it在此句中无前述词可以指代,不能等于father 或electrician。因此对代词it要作明确的改动:My father is an electrician, but I am not interested in becoming one People have tried to fight against the influence of TV commercials, but it often proves useless. 代词it 在本句中并不指代前面的单数名词influence,而是指to fight against the influence of TV commercials (反对电视商业广告)的这种努力,因此应将it的意义具体化,此句可改为:People have tried to fight against the influence of TV commercials, but this effort often proves useless. 5.有时在句中出现同样数格的两个不同前述词,使后面代词的指代出现模棱两可的情况。如: When the chemist added the powder to water, it turned purple. 代词it可指前面的powder或water这两个前述词的任何一个,但根据常识,显然it指的是water而不是powder,故应将it 具体改为water,句子的意义就正确了。再如:Susan told Jane that her dog was in the garden.

公文写作常见问题

公文写作的基础知识与常见问题分析 公文的分类 按其行文方向,可分为上行文、下行文、平行文。 按其时限要求,可分为特急公文、急办公文、常规公文 按其时限要求,可分为绝密公文、机密公文、秘密公文、普通公文。 常用公文文种 我国现行党和各级领导机关使用的文件有14个: 决议、决定、指示、意见、通知、通报、公报、报告、请示、批复、条例、规定、函、会议纪要。 国家行政机关使用的公文种类有13个: 命令(令)、决定、公告、通告、通知、通报、议案、报告、请示、批复、意见、函、会议纪要。 上述文件共27个,其中9个是相同的,即:决定、意见、通知、通报、请示、报告、批复、函、会议纪要; 不同的有9个,其中属党的机关的有5个,即:公报、指示、决议、条例、规定;属国家行政机关的有4个,即:命令(令)、议案、通告、公告。由于这18个文件是党和国家在公文管理法规中明确规定的,一般称为法定文种。 公司常用的主要公文种类

1.决定:适用于公司对重要事项或者重大行动做出安排,如机构设立与撤销;变更或撤销公司不适当决定。 2.通报:传达重要精神或者通报有关重要情况,也适用于对全系统各单位或个人的表彰与批评。 表彰通报:介绍先进事迹+先进事迹意义+表彰决定+希望号召批评通报:错误事实+错误性质分析+惩罚措施+提出希望要求情况通报:缘由目的+情况信息+希望要求 3.请示:适用于下级向上级的请求指示和批准;也适用于分公司必须以公文形式向总公司的请求指示和批准。 应用范围 (1)遇到问题无法解决,需要上级指示; (2)处理较为重要的事件和问题,要上报批准; (3)遇到问题,虽有解决方法,但没有权力或能力实施,需要上级帮助; (4)对有关方针、政策和上级发布指示有疑问,要上级解答; (5)下级机关之间在重要问题上出现意见分岐,要上级仲裁; (6)请上级领导参加活动,指导工作。 注意事项 (1)主送机关只能有一个,如需同时送其他机关,应当用抄送的形式; (2)只能主送上级机关,不能送领导者本人;

公文写作常见错误案例分析

公文写作中常见的错误 1.×市×区区属图书馆为办好图书事业,满足该区群众读书的要求,特向区政府请示增加经费,并将该请示抄送该区人事局、劳动局、物价局、财政局。 错误。抄送单位应当是与该请示事项有关的单位。“人事局、劳动局、物价局”与区图书馆申请经费无关,不应将该请示抄送给他们。 2.某县人事局向县直属各单位下发年终考核工作通知,抄报于该县政府办公室 正确。根据《国家行政机关处理办法》有关规定,向下级机关的重要行文,应抄报上级机关,目的是为了让上级了解情况,避免出现工作中的被动情况。 3.×省×市×区区属瓷器厂因税务问题受到该区税务所的处罚,该厂认为处罚不符合国家税法,特向市税务局申诉,并同时向×省税务厅申诉,并抄报于×市政府、×区政府。 错误。主送单位应当是一个,同时主送,搞乱了行文关系。抄送单位应当是与该申诉事项有关的单位。“×市政府、×区人民政府”,与税务申诉事项无关,不应将该申诉抄送给他们。 4.某县农林局写例行报告,一向县政府汇报1995年全年工作,二在报告中请示了1996年增建农机站的事项,三建议对困难地区减

免乡政府提留费用。 错误。报告中不能夹带请示,且应“一文一事”。 5.×市×工业总公司因市属重点企业×××电器厂因领导班子个别人贪污犯罪,准备调整该厂领导班子,特向市政府请示。并将该请示抄送于该厂办公室。 错误。请示不能抄送下级机关。 6.×市纪检委员会将1997年纪检情况通报于市各直属机关和各局。 正确。该通报属于情况通报,为知照类文件,可以有多个主送机关。 7.中共××市委与市委宣传部就学习贯彻中共第十七次代表大会精神,建设有特色的社会主义联合向下发出通知。 错误。为了维护文件的权威性和法定效用,联合行文的单位应当是同级单位。 8.×市×区职工大学是受区政府和市成人教育局双重领导的单位。该职工大学就1994年需增加教育经费一事,特向两个上级机关请示。 错误。请示只能够有一个主送机关;若是双重领导机关,则需要

小学数学计算错题分析及对策研究(研究方案)

《小学数学计算错题分析及对策研究》研究方案 西堡小学四年级数学课题组执笔:李亚琴【摘要】计算在小学数学教学中占据着十分重要的地位,是小学教学内容的重要组成部分,是学习数学的基础。小学生在计算练习过程中出现错误是常有的现象,我们必须找出错误原因,有针对性地预防,纠正计算错误,提高教学效果,用科学的方法提高小学生的计算能力。 【关键词】计算错误错误类型原因分析矫正策略研究计算正确率提高教学效果方法计算能力 一、课题的现实背景及意义 《数学课程标准》指出:“小学生要掌握必要的计算技能”,在小学数学教学中,计算教学所占的课时居于首位,从低年级的一两位数加、减法计算,到中高年级的多位数乘、除法计算,从口算到简便计算和四则混合运算,可以说计算贯穿了整个小学数学阶段的学习,这足以说明计算教学的重要性。计算教学的目标是“使学生具有进行整数、小数、分数四则计算的能力,对于其中一些基本的计算要达到一定的熟练程度,逐步做到计算方法合理、灵活”。而计算能力是学生今后生活、学习和参加社会主义建设所必须的基本素质之一。但是,近几年通过我们的调查发现,学生在计算中反映出来的情况令人担忧,学生的计算能力不高,由于计算错误,很多学生的数学成绩较差,并且直接阻碍了进入高一级学校的学习。造成这一后果的原因固然是多方面的,但不容易忽视的是,我们的许多学生,包括部分老师认识上的错误,把学生计算上出现的错误都归为“粗心”,一部分老师只重视方法和思路的引导,对计算过程的合理性、简捷性缺乏足够的指导,以致丧失了对学生进行计算能力训练的最佳时机。因此,怎样提高小学生的计算能力,已经成为当前小学数学教学的一个突出问题。 二、课题研究的界定与说明 1、年级:四年级全体学生 2、计算:口算、竖式计算、脱式计算、简便计算、列式计算、计算速度。 3、计算错误案例:学生在学习、作业过程中出现的错误以及教师在多年教学中遇到的典型错例。 4、本课题旨在分析、研究在新课程实施中,以新课程理念指导下的数学课

公文写作常见错误16种

公文写作常见错误16种 一、行文中的常见错误 1、滥发文件。主要表现:(1)所发公文属可发可不发之列;(2)所发公文只是照抄照转上级的公文(翻印即可,不必转发);(3)所发公文内容空洞,无具体措施,不解决问题;(4)行文所涉及的问题可用口头请示、汇报或开会等形式解决;(5)行文所涉及的内容已在报上全文公布过;(6)在部门之间意见分歧,未经协商取得一致时就行文。 2、行文关系混乱。主要表现:(1)应该党政分开行文的未分开行文;(2)应该一个机关单独行文的搞成几个机关联合行文;(3)该职能部门行文的“升格”为领导机关行文;(4)该领导机关行文的“降格”为职能部门行文。 二、文种使用中的常见错误 1、自制文种。在正式文种之外,随心所欲,生造公文文种并俨然以正式公文行文。常见的有:“请示报告”、“工作思路”、“情况”、“汇报”、“申请”、“郑重声明”等。 2、误用文种。把属于机关其他应用文,特别是事务文书中的文种,误作为正式公文文种使用的情况。常见的有:把计划类文种“要点”、“打算”、“安排”、“设想”等作为公文文种直接使用,如?××市委××××年工作要点?。把属于总结类的文种“小结”、“总结”,以及把属于规章制度类的文种“办法”、“规程”、“须知”、“实施细则”等作为正式文种直接使用。但是,如果将上述应用文用转发或印发通知的形式发布,则是规范用法。如“××市人民政府关于印发市政府1997年工作要点的通知”。 3、混用文种。不按文种的功能和适用范围去选用文种,而造成临近文种相互混用,导致行文关系不清,行文目的不明,行文性质混淆。常见的有:“公告”与“通知”、“决议”与“决定”、“请示”与“报告”、“请示”与“函”混用。主要表现为将通告误用为通知,将通知误用为通告,将请示误用为报告,将报告误用为请示,将“请示”、“报告”合用为“请示报告”,“请示”和“报告”本身是两个文种,将决定误用为决议,将决议误用为决定,将函

英语四级作文常见写作错误

英语四级作文常见写作错误 一、主语错误 1. 主语缺失 1) In our country feels very free. People feel free in our country. 2) In my hometown aren’t very busy. People in my hometown are very busy. 2. 非名词主语 1) Rich doesn’t ensure a happy life. Being rich doesn’t mean a happy life. / Wealth doesn’t ensure a happy life. 2) Keep two full-time jobs is simply impossible. Keeping two full-time jobs is simply impossible. 3. 主谓错位 1) Reading books can acquire knowledge. People can acquire knowledge from books. 2) Now people’s lives can’t leave TV. Now people can’t do without TV. 二、谓语错误 1. 多重谓语 1) In our modern society, there are many examples around us show that many people are cheated. In our modern society, many examples around us show that many people are cheated. / A large number of people have fallen victim to various tricks. 2) Poverty makes many people can’t study abroad. Poverty makes many people unable to study abroad. / Poverty makes it impossible for many people to study abroad. / Poverty prevents many people from studying abroad. / Many people can’t study abroad because of poverty. 2. 非动词谓语 1) Some people firmly agree, but others against it. Some people firmly agree, but others are against it. 2) It is said that the place worths touring. It is said that the place is worth touring. 3. 主谓不一致 1) I have to visit the teacher who teach me College English. I have to visit the teacher who teaches me College English. 2) I use a disk because it hold plenty of data. I use a disk because it holds plenty of data.. 4. 误用词组 1) They insist on post-graduate study is very important for them. They insist that post-graduate study is very important for them. 2) I am afraid of that it’s going to rain. I am afraid that it’s going to rain. 三、冠词错误 1) In my opinion, the future of bicycle is very promising. In my opinion, the future of the bicycle is very promising.

相关文档
最新文档