问题是这样的,我的程序主窗口Form1上面有一个数据连接(ADOCONNECTION1)和ADOQUERY,然后还有一些数据感知组件用于浏览用的,我打算点击From1中的一个“修改数据”按钮,就弹出Form2,在中Form2我打算对其中的某条数据提取出来后进行修改,然后再通知Form1的ADOQUERY刷新数据。

但是这里有一个问题,From1可以 use Form2,然后使用From2.show;,这个没有问题,但是From2是不能 use From1的,这就导致我在From2中无法使用已有的数据连接(ADOCONNECTION1)和ADOQUERY,而且当我修改完数据后也无法调用ADOQUERY.refresh;。

当然了,我也完全可以这样:在From2上再放上单独的(ADOCONNECTION1)和ADOQUERY,然后From1把数据那行的GUID送到Form2中,From2据此读出数据并进行修改,这样看起来基本可以解决数据的录入问题,但是我记得专家说过,一个From上面再放1套数据连接是不正确的,起码是不优化的,所以我想问问一般应该如何处理呢?

再添加一个data module,
把ADOCONNECTION1和ADOQUERY
放在其中
在Form1中写这样的代码:
Form2 := TForm2.Create(Self);
try
  Form2.ShowModal;
  ADOQuery1.Refresh;
finally
  Form2.Free;
end;
麻烦
在Form2 的public 中写上
 property AdoQuery:TadoQuery read FAdoQuery write FAdoQuery;
Form2 := TForm2.Create(Self);
try
  Form2.AdoQuery:=AdoQuery1;
 if Form2.ShowModal= mrok then 
  begin 
    ADOQuery1.Refresh;
  end;
finally
Form2.Free;
end;

Delphi窗体之间互相调用的简单问题的更多相关文章

  1. C# 多窗体之间方法调用

    看似一个简单的功能需求,其实很多初学者处理不好的,很多朋友会这么写: //父窗体是是frmParent,子窗体是frmChildA //在父窗体中打开子窗体 frmChildA child = new ...

  2. 多窗体之间方法调用 z

    C# Code: /// <summary> /// 主窗体接口 /// </summary> public interface IMdiParent{   void Pare ...

  3. MFC 不同窗体之间变量调用

    应用场景: (1)主对话框包含一个Tab控件,Tab控件用来切换显示若干子对话框,子对话框类的成员需要互相访问. (2)或者程序中包含多个类,各类之间需要互相访问. 方法1-定义指针成员变量: 详情参 ...

  4. Iframe之间及iframe与父窗体之间值的传递

    方法一:ScriptManager.RegisterClientScriptBlock(this,typeof(Page), "NoInformation", "wind ...

  5. delphi dll创建及调用

    第一章 DLL简单介绍由于在目前的学习工作中,需要用到DLL文件,就学习了下,在这里作个总结.首先装简单介绍下DLL:1,减小可执行文件的大小DLL技术的产生有很大一部分原因是为了减小可执行文件的大小 ...

  6. delphi 窗体自适应屏幕分辨率

    delphi 窗体自适应屏幕分辨率 这是个困惑我很长时间的问题,到今天终于得到解决了. 话说Delphi有个很强的窗体设计器,这一点让VC粉丝垂涎三尺而不可得.但是,Delphi里设计的窗体并没有自动 ...

  7. 解决Delphi窗体缩放の疑难杂症

    http://anony3721.blog.163.com/blog/static/511974201082235754423/ 解决Delphi窗体缩放の疑难杂症 2010-09-22 15:57: ...

  8. Delphi 窗体函数GetWindow

    Delphi 窗体函数GetWindowGetWindow是计算机的函数,该函数返回与指定窗口有特定关系(如Z序或所有者)的窗口句柄,函数原型是HWND GetWindow(HWND hWnd,UIN ...

  9. windows form (窗体) 之间传值小结

    windows form (窗体) 之间传值小结   windows form (窗体) 之间传值小结 在windows form之间传值,我总结了有四个方法:全局变量.属性.窗体构造函数和deleg ...

随机推荐

  1. Python框架学习之Flask中的蓝图与单元测试

    因为Flask框架的集成度很低,随着Flask项目文件的增多,会导致不太好管理.但如果对一个项目进行模块化管理的,那样子管理起来就会特别方便.而在Flask中刚好就提供了这么一个特别好用的工具蓝图(B ...

  2. 洛谷题解 P1138 【第k小整数】

    蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): ...

  3. Android Wear创建一个通知

    创建Android Wear的通知实际上和手机上创建没啥区别,主要是多了几个新类,只要用熟悉了一切都好办了.(如果只是测试通知,则直接运行wear app就能够看到效果) 创建一个简单的wear通知分 ...

  4. linux进程控制开发实例

    fork.c #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include < ...

  5. 【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)

    说明 本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误.因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期 ...

  6. Windows Community Toolkit 3.0 - UniformGrid

    概述 UniformGrid 控件是一个响应式的布局控件,允许把 items 排列在一组均匀分布的行或列中,以填充整体的可用显示空间,形成均匀的多个网格.默认情况下,网格中的每个单元格大小相同. 这是 ...

  7. LeetCode 965. Univalued Binary Tree

    A binary tree is univalued if every node in the tree has the same value. Return true if and only if ...

  8. vue项目打包问题

    使用vue-cli脚手架构建vue项目 vue init webpack project npm run build 打包时出现 Tip: built files are meant to be se ...

  9. mybatis配置文件配错

    UG] 2017-10-04 20:04:30,582(137226) --> [http-bio-8082-exec-9] org.springframework.web.servlet.ha ...

  10. p141一致有界原则

    1.Mk取sup  为什么只要取∩就好了  不应该是先并后交吗 2.为什么说是闭集?