Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用C++;delphi代码中的builderxe表单 我使用绝地JCL包中的大TabutTeCar来显示C++ Builder XE项目中的未处理异常,所有运行的OK都是OK。我决定通过编写自己的自定义表单,通过FTP将崩溃报告上传到服务器,从而对其进行一些改进_Delphi_Interop_C++builder - Fatal编程技术网

调用C++;delphi代码中的builderxe表单 我使用绝地JCL包中的大TabutTeCar来显示C++ Builder XE项目中的未处理异常,所有运行的OK都是OK。我决定通过编写自己的自定义表单,通过FTP将崩溃报告上传到服务器,从而对其进行一些改进

调用C++;delphi代码中的builderxe表单 我使用绝地JCL包中的大TabutTeCar来显示C++ Builder XE项目中的未处理异常,所有运行的OK都是OK。我决定通过编写自己的自定义表单,通过FTP将崩溃报告上传到服务器,从而对其进行一些改进,delphi,interop,c++builder,Delphi,Interop,C++builder,问题是,我无法从delphi PAS单元打开我的自定义表单,试图定义为外部(这里没有delphi程序员,抱歉:(),但不知道如何正确编码。我读了很多教程,但除了为我的自定义表单编写DLL或OLE容器外,找不到任何有用的东西,这对于这个项目来说真是太过分了 问题是,如何正确执行这个任务?如何在C++单元中定义一个窗体(从PASDelphi单元?> P>),我找到了一个简单实用的方法,有点难看,但是很有用! 诀窍是通过使用Screen.forms对象遍历所有表单来获取表单。我已经将表单的TAG属性设

问题是,我无法从delphi PAS单元打开我的自定义表单,试图定义为外部(这里没有delphi程序员,抱歉:(),但不知道如何正确编码。我读了很多教程,但除了为我的自定义表单编写DLL或OLE容器外,找不到任何有用的东西,这对于这个项目来说真是太过分了


问题是,如何正确执行这个任务?如何在C++单元中定义一个窗体(从PASDelphi单元?

> P>),我找到了一个简单实用的方法,有点难看,但是很有用! 诀窍是通过使用Screen.forms对象遍历所有表单来获取表单。我已经将表单的TAG属性设置为预定义的数字,只是为了获取表单的简单id

简而言之,我的形式里面C++的单位,我会这样做:

MyForm->Tag=9999; // easy way of Iding my form
然后,在TExceptionDialog的my delphi单元中,在发送按钮单击方法中:

procedure TExceptionDialog.SendBtnClick(Sender: TObject);
var
   i: integer;
   form: TForm;
begin
  for i := 0 to Screen.FormCount-1 do // all forms
  begin
    form := Screen.Forms[i]; // get a form
    if(form.Tag = 9999) then // check if its my form
    begin
      form.ShowModal; // if its mine, call showmodal
      break;
    end;
  end;
  ModalResult := mrOk;  // return to my app
end;

我们可以清楚地了解组织。你有一个使用C++ Builder?DLL项目的Delphi?exe项目?它在“C++ Builder XE项目里面”。它是一个C++ Builder XE项目,它有一个单一的表格Trace.PAS,它是由JCL调试向导自动生成的。我需要调用一个从Trace.pASPASS方法变量中显示的表单方法。(
procedure of object
)到
tracer.pas
中的表单。所以,就像事件处理程序一样。谢谢你的回答。你能给我看一些代码吗?我不是Delphi程序员,我尝试过,但我总是有一个“不满意的转发或外部声明…”BTW,为了澄清自己,我必须调用一个窗体之外的窗体的显示模式,它位于C++文件中。调用应该在Trace.Pas.O.,我不知道C++ Builder,所以我不知道这方面。