用了DataMould,在查询的时候,出现(Access Violation at address 0048ae17 in modul 'main.exe'),这种错误,好像在DELPHI中经常出现!

Rou 2006-03-30 09:34:30
用了DataMould,在查询的时候,出现(Access Violation at address 0048ae17 in modul 'main.exe')
下面是源码!各位看看看!

Main.dpr
------------------------------------------------------------------------
program Main;

uses
Forms,
Login in 'Login.pas' {frmLogin},
DataMould in 'DataMould.pas' {DataModule1: TDataModule},
Public_function in 'Public_function.pas',
default in 'default.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
end.
...全文
151 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rou 2006-03-30
  • 打赏
  • 举报
回复
login.pas();//这里是出错的文件,已经标出来了
------------------------------------------------------------------------------------
unit Login;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TfrmLogin = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
LoginOk:boolean;
public
{ Public declarations }
end;

var
frmLogin: TfrmLogin;
function showlogin():boolean;
implementation

uses DataMould, Public_function, default,ADOint;

{$R *.dfm}

procedure TfrmLogin.Button1Click(Sender: TObject);
var sql:string;
begin
if (trim(edit1.Text)='') then
begin
ShowDlg('请输入用户名');
Exit;
end;

if(trim(edit2.text)='') then
begin
ShowDlg('请输入密码;');
Exit;
end;

sql:= 'select * from XY_Manager where r_user='''+trim(edit1.Text)+''' and r_pwd='''+trim(edit2.Text)+'''';
Execute_SQL(DataModule1.ADODataSet1,sql);//这里是出错的地方



(* if DataModule1.ADODataSet1.IsEmpty then
begin
ShowDlg('系统中没有这个用户!');
Edit1.SetFocus ;
Edit2.Clear;
end
else
begin
NowUser.id:= DataModule1.ADODataSet1.Recordset.Fields['id'].Value ;
NowUser.R_user:=DataModule1.ADODataSet1.Recordset.Fields['r_user'].value;
LoginOk:=true;
end;
*)
end;

function showlogin():boolean;
var frmLogin: TfrmLogin;
begin
frmLogin:=nil;
try
result:=false;
frmLogin:=TfrmLogin.Create(application) ;
frmlogin.ShowModal ;
result:=frmlogin.LoginOk;
finally // wrap up
if frmlogin<>nil then
frmlogin.Free ;
end; // try/finally
end;

end.
Rou 2006-03-30
  • 打赏
  • 举报
回复
Public_function.pas
-------------------------------------------------------------
unit Public_function;

interface
uses Classes,ADODB,Controls;

type
TUser=record
id:integer;
R_user:string;
end;

var NowUser:TUser;

Procedure Execute_BatchSql(s:TStrings);
Procedure Execute_SQL(var DS:TADODataSet;s:string);
function ShowDlg(s:string):boolean;

implementation

uses DataMould,Dialogs;

Procedure Execute_BatchSql(s:TStrings);
begin
end;

Procedure Execute_SQL(var DS:TADODataSet;s:string);
begin
DS.Active :=false;
DS.CommandText:=s;
DS.Active:=true;
end;

function ShowDlg(s:string):boolean;
begin
if MessageDlg(s, mtConfirmation, [mbYes], 0) = mrYes then
result := True
else
Result := False ;

end;

end.

Rou 2006-03-30
  • 打赏
  • 举报
回复
DataMould.pas
------------------------------------------------------
unit DataMould;

interface

uses
SysUtils, Classes, DB, ADODB;

type
TDataModule1 = class(TDataModule)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
private
{ Private declarations }
public
{ Public declarations }
end;

var
DataModule1: TDataModule1;

implementation

{$R *.dfm}

end.
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程,应动手调试参数,复现文翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

2,508

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧