请教大侠(100分)

  • 主题发起人 主题发起人 Blue_Fire
  • 开始时间 开始时间
B

Blue_Fire

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位大侠:两段代码如此相似,
1> 为什么unit1能够执行,而unit2不能够执行。
2> 为什么在退出unit1时出现了内存访问错误。

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
end;

TTemp=class
private
data1:string;
data2:string;
data3:string;
end;

TMold=class(TTemp)
procedure setdata(v_data1 :string; V_data2 :string; V_data3 :string );
end;

var
Form1: TForm1;

implementation

{$R *.DFM}


procedure TMold.setdata(V_data1 :string;V_data2 :string; V_data3 :string);
begin
data1:=V_data1;
data2:=V_data2;
data3:=V_data3;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
mold:TMold;
begin
mold.create;
mold.setdata(edit1.text, edit2.text, edit3.text);
showmessage(mold.data1+ mold.data2+ mold.data3);
end;

end.





unit Unit2;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
procedure Button1Click(Sender: TObject);
end;

TTemp=class
private
data1:string;
data2:string;
data3:string;
data4:string;
end;

TMold=class(TTemp)
procedure setdata(v_data1 :string; V_data2 :string; V_data3 :string; V_data4:string );
end;

var
Form1: TForm1;

implementation

{$R *.DFM}


procedure TMold.setdata(V_data1 :string;V_data2 :string; V_data3 :string; V_data4:string );
begin
data1:=V_data1;
data2:=V_data2;
data3:=V_data3;
data4:=V_data4;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
mold:TMold;
begin
mold.create;
mold.setdata(edit1.text, edit2.text, edit3.text, edit3.text );
showmessage(mold.data1+ mold.data2+ mold.data3+ mold.data4 );
end;

end.



还有一点小弟不明白,在delphi里面如何采用文件型而不是C/S型数据库?
请赐教,不深感激!
 
采用文件型数据库,使用tbatabase或者tadoconnection连接
文件型数据库即可。如access.paradox.dbase都是文件型数据库了。
 
你的2个unit的对象创建都不对,应该是这样的
mold:=TMold.create;
……
最后 mold.free 释放
 
你的两个unit的对象创建肯定是不对的。
但是unit1确实能执行,
function _AfterConstruction(Instance: TObject): TObject;
begin
Instance.AfterConstruction; //这里居然能通过?!纳闷~~~
Result := Instance;
end;
 
对像建错了,有空看看例程,Delphi自带的,很有用.
 
谢谢了,各位大侠
 

Similar threads

I
回复
0
查看
509
import
I
I
回复
0
查看
574
import
I
I
回复
0
查看
763
import
I
I
回复
0
查看
541
import
I
后退
顶部