小编The*_*Fox的帖子

激活TabControl的标签页

我在#.NET应用程序中使用TabControl.默认情况下,TabControl的第一个标签页显示在表单加载中.我想激活/显示表单加载中的其他标签页.以编程方式,我如何显示其他标签页?

c# tabcontrol tabpage winforms

71
推荐指数
5
解决办法
14万
查看次数

上下文菜单随Word自动化消失

当我在OleContainer(inplace)中编辑Word文档并切换到另一个Word文档然后切换回来时,我再也无法使用我的rightmouse按钮了.上下文菜单不会显示.

这发生在Word 2000上,而不是Word 2007上(我不知道其他版本).

我怎样才能摆脱这种行为?

如何重现:

  • 创建一个新的VCL应用程序
  • 添加菜单栏
  • 添加TOleContainer,AlClient,AllowInPlace和AllowActiveDoc True.
  • 使用TOleContainer,插入Word 97-2003文档
  • 将菜单项"关闭"添加到菜单栏,在其事件处理程序中添加OleContainer1.DestroyObject,以便您可以停止编辑
  • 运行此应用程序,双击OleContainer,使其进入editmode
  • 现在打开Word 2000
  • 切换回您的应用程序,上下文菜单将不再起作用.

编辑:我在以下系统上重现了上述行为(使用Citrix):

Windows Server 2003企业版
5.2版(Build 3790.srv03_sp2_rtm.070216-1710:Service Pack 2)

Microsoft Word 2000(9.0.6926 SP-3)

我使用Delphi 7(build 8.1)来创建应用程序.

delphi automation ole contextmenu ms-word

16
推荐指数
1
解决办法
2161
查看次数

11
推荐指数
1
解决办法
743
查看次数

如何在保持组件可见的同时使表单透明?

我需要制作一个包含PNG图像和透明区域的表格的程序.表格必须是隐形的,而图像必须保持可见,透明区域必须保持透明.问题是图像透明度.在这种情况下,主窗体是透明的,不可见的,而所有组件/控件都保持可见.但是,PNG图像的透明区域不保持透明度.如何保持透明度?

   procedure MakeTransparent;
   var
   AControl: TControl;
   A, Margin, X, Y, CtlX, CtlY: Integer;
   begin
     Margin    := (Width - ClientWidth) div 2;
     FullRgn   := CreateRectRgn(0, 0, Width, Height);
     X         := Margin;
     Y         := Height - ClientHeight - Margin;
   ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight);
   CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF);
   for A := 0 to ControlCount - 1 do
   begin
    AControl := Controls[A];
    if (AControl is TWinControl) or (AControl is TGraphicControl) then with        AControl do
   begin
    if Visible then …
Run Code Online (Sandbox Code Playgroud)

delphi transparency transparent-control

11
推荐指数
1
解决办法
2万
查看次数

从FastMM获得更长的堆栈跟踪?

当FastMM记录内存泄漏时,它包含一个回溯9次调用的堆栈跟踪.问题是堆栈跟踪过于笼统,无法轻松找到问题.跟踪中的最后一个函数调用至少被调用50次,并且泄漏的对象是非常常见的.

我该怎么做才能使堆栈跟踪更长?

更容易找到泄漏的提示当然是受欢迎的,泄漏的对象主要是接口,因此它是交叉引用或_ReleaseRef未调用的东西.

我在Delphi 7上使用FastMM492.

delphi memory-leaks stack-trace fastmm

10
推荐指数
1
解决办法
1032
查看次数

如何从系统路径变量的路径获取绝对路径?

有没有一种简单的方法可以将带有系统路径变量的路径转换为绝对路径?

因此%ProgramFiles%\Internet Explorer\hmmapi.dll变得C:\Program Files\Internet Explorer\hmmapi.dll

我想知道是否有可以执行此操作的API调用,或者我是否必须以困难的方式执行此操作并检测%..%序列并将其替换为相应的环境变量?

delphi path absolute-path

8
推荐指数
1
解决办法
2785
查看次数

我怎样才能在Delphi中使用jclcompression,有什么例子吗?

我昨天安装了jclcompressin组件.当我使用它时出现错误"加载到7z.dll".有没有任何使用jclcompressıon单元的示例代码?好像我压缩文本文件?

delphi delphi-7

6
推荐指数
1
解决办法
2266
查看次数

在Delphi 7中使用TExcelWorkBook SaveAs方法时出现Ole 800A03EC错误

我正在尝试打开excel 2003工作簿并将其保存为其他内容,例如excel 95.我使用以下代码:

XLSApp:=TExcelApplication.Create(Self);
XLSApp.Workbooks.Open(SomeFileName,NULL,false,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,defaultlcid);
XLSWB:=TExcelWorkbook.Create(XLSApp);
XLSWB.ConnectTo(XLSApp.Workbooks.Item[1]);
XLSWB.SaveCopyAs(ExtractFilePath(edTable.Text)+'temp.xls');
XLSWB.SaveAs(SomeOtherFileName,xlExcel7,EmptyParam,EmptyParam,False,False,xlNoChange,xlUserResolution,False,EmptyParam,EmptyParam,EmptyParam,DefaultLCID);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这段代码在客户端计算机上提供了"Ole 800A03EC",而它在我的计算机上运行.请注意,我安装了Office 2007,并且他有Office 2003 SP3.

任何帮助将非常感谢.

delphi excel automation ole

5
推荐指数
1
解决办法
4万
查看次数

Delphi 7 - >无法从资源文件加载图像

我一直在网上看几个小时,使用谷歌,尝试使用PDF,仍然无法在Delphi 7中加载图像资源.

我的test.rc文件是这样的:

1 RT_BITMAP "1.bmp"
Run Code Online (Sandbox Code Playgroud)

我已经添加了test.rc文件使用我的项目项目- >添加到项目..它编制了test.res在构建文件,并似乎已经自动包含在.RES文件到我的项目(因为使用{$ R test.res}会说我已经使用了那个资源).我也试图消除test.res利用项目工程- >从项目中删除..和手动添加{$ R test.res}我的项目.

但无论我如何包含test.res文件..我得到了

项目Project2.exe引发异常类EAccessViolation,并在模块'Project2.exe'中显示消息'地址00408D0C处的访问冲突'.读取地址00000001'.流程停止了.使用"步骤"或"运行"继续.

我首先使用了

Image1.Picture.Bitmap.LoadFromResourceID(hInstance,1);
Run Code Online (Sandbox Code Playgroud)

因为这是我用谷歌发现的.我收到了这个错误.后来我试过了

procedure TForm1.Image1Click(Sender: TObject);
var bBitmap : TBitmap;
begin

 bBitmap := TBitmap.Create;
 try

  bBitmap.Handle := LoadBitmap(hInstance, '1');
  Image1.Width := bBitmap.Width;
  Image1.Height := bBitmap.Height;
  Image1.Canvas.Draw(0,0,bBitmap);
 finally

  bBitmap.Free;
end;


end;
Run Code Online (Sandbox Code Playgroud)

这没有给我带来任何错误,也没有显示图像所以问题仍未解决.

我是使用资源的新手,但我必须在发布项目之前将一些图像加载到资源中,以便.BMP文件不会被调整...

任何帮助将非常感谢!

delphi resources image bitmap delphi-7

4
推荐指数
1
解决办法
3534
查看次数

如何从extern进程获取进程环境块(PEB)?

所以...我需要从"notepad.exe"进程中获取peb,有人知道如何制作它吗?

我正在尝试使用"GetModuleHandle"API,但是...不会返回指针(每次都返回零),因为我必须是该模块的调用者进程.

出于这个原因,我想知道如何使用"EnumProcessModules"或"CreateToolhelp32Snapshot"来获取它.

如果有人知道请告诉我如何,提前谢谢!

delphi api winapi

4
推荐指数
1
解决办法
5343
查看次数