怎么这些语句都不执行,请高手帮忙看看(50分)

  • 主题发起人 主题发起人 hui717
  • 开始时间 开始时间
H

hui717

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tfrmcgcx.cxButtonEdit1Click(Sender: TObject);
begin
if Trim(xm_ComboBox.Text) = '' then
begin
MessageBox(self.Handle,'请选择好材料','百科软件',0);
xm_ComboBox.SetFocus;
Exit;
end;

if Trim(xm_ComboBox.Text) = '型材' then cgppname := 'TZShowXC';
if Trim(xm_ComboBox.Text) = '玻璃' then cgppname := 'TZShowBL';
if Trim(xm_ComboBox.Text) = '配件' then cgppname := 'TZShowPJ';
if Trim(xm_ComboBox.Text) = '铝板' then cgppname := 'TZShowQt';

Self.Enabled:= False;
frmCldaJh:= TfrmCldaJh.Create(self);
with frmCldaJh do
begin
with frmCldaJh.ADOCllx do
begin
Close;
Parameters.Refresh;
ProcedureName:= cgppname;
Open;
end;
iFlag:= 1;
end;
end;


当程序执行到 frmCldaJh:= TfrmCldaJh.Create(self);
这一句时,后面的语句就不执行了,

百思不得其解
搞了两天了

请高手帮帮忙呀
 
没人会么??
 
frmCldaJh:= TfrmCldaJh.Create(self);
这一句改用
1、frmCldaJh:= TfrmCldaJh.Create(Application);
2、frmCldaJh:= TfrmCldaJh.Create(nil);
或者注释前面的语句:
Self.Enabled:= False;
试试。
 
下面语句是可以执行的,不过就是不太清楚楼主
写frmCldaJh这样的窗体做什么?
难道只为了执行一个存储过程?不可理解。。。
 
窗体show一下嘛
 
来自:horaer, 时间:2006-7-11 11:28:05, ID:3502329
frmCldaJh:= TfrmCldaJh.Create(self);
这一句改用
1、frmCldaJh:= TfrmCldaJh.Create(Application);
2、frmCldaJh:= TfrmCldaJh.Create(nil);
或者注释前面的语句:
Self.Enabled:= False;
试试。

这样我都试过了
都是,不执行
 
有没有错误提示?
 
你看看frmCldaJh是否已经在启动时生成了,
 
frmCldaJh:= TfrmCldaJh.Create(self);
with frmCldaJh do
begin
with frmCldaJh.ADOCllx do
begin
Close;
Parameters.Refresh;
ProcedureName:= cgppname;
Open; ;
end;
frmCldaJh.showmodal;
iFlag:= 1;
end;
肯定会执行的,不知道楼主怎么来断定程序没有执行的
 
create失败了?
 
create成功了

也不是启动时启动了,因为是DLL窗体

我用单步跟踪调试,所以判断没有执行后面的语句
 
DLL窗体可以这样创建吗?
frmCldaJh:= TfrmCldaJh.Create(self);?
 
可以呀
我在其它的dll 中,窗体都是这样创建的

也都是能够正常运行的呀
 
后退
顶部