fix DAX error(解决delphi编写的ocx控件中的DAX error问题)

原创 2005年11月03日 10:05:00

when using Internet Explorer in Wink2, WinXp, ActiveForm or ActiveX control raise

DAX error : access violation at address 000

reason :

delphi's ocx use same parking window procedure.

one ocx must use individual parking window proc.

fix error.

edit delphi VCL source routine in axctrls.pas

and compile axctrls.pas 

copy axctrls.dcu to lib directory.

axctrls.pas

function ParkingWindow: HWND; 

var 

TempClass: TWndClass; 

ParkingName : String; 

begin 

Result := xParkingWindow; 

if Result <> 0 then Exit; 

// fix Dax error : accessviolation (win2k, win xp) 

ParkingName := 'DAXParkingWindow_' + Format('%p', [@ParkingWindowProc]); 

FillChar(TempClass, sizeof(TempClass), 0); 

if not GetClassInfo(HInstance, PChar(ParkingName), TempClass) then // fix Dax error : accessviolation (win2k, win xp) 

begin 

TempClass.hInstance := HInstance; 

TempClass.lpfnWndProc := @ParkingWindowProc; 

TempClass.lpszClassName := PChar(ParkingName); // fix Dax error : accessviolation (win2k, win xp) 

if Windows.RegisterClass(TempClass) = 0 then 

raise EOutOfResources.Create(SWindowClass); 

end; 

xParkingWindow := CreateWindowEx(WS_EX_TOOLWINDOW, TempClass.lpszClassName, nil, 

WS_POPUP, GetSystemMetrics(SM_CXSCREEN) div 2, 

GetSystemMetrics(SM_CYSCREEN) div 2, 0, 0, 0, 0, HInstance, nil); 

SetWindowPos(xParkingWindow, 0, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOREDRAW 

or SWP_NOZORDER or SWP_SHOWWINDOW); 

Result := xParkingWindow; 

end; 

修正delphi编写的ocx控件中的DAX error问题

最近用Delphi7编写了两个IE插件,在同一IE页面打开含这两个插件提示DAX错误。在网上找到一篇文章,原来是Delphi编写插件在Win2k和XP下有这个问题,需要修改Vcl目录下AxCtrls....
  • johnnywww
  • johnnywww
  • 2009-01-07 11:14:00
  • 3740

delphi CreateOLEObject()调用 提示 dax error 错误 无效的类别字符串

问题解决:被注册的com中嵌套调用的com可能未注册
  • boy20yy
  • boy20yy
  • 2015-04-15 00:15:14
  • 797

fix DAX error(解决delphi编写的ocx控件中的DAX error问题)

when using Internet Explorer in Wink2, WinXp, ActiveForm or ActiveX control raiseDAX error : access ...
  • ljdzxx
  • ljdzxx
  • 2005-11-03 10:05:00
  • 3565

Delphi Access Violation错误的分析

http://www.cnblogs.com/delphi7456/archive/2010/11/13/1876180.html Delphi常见的运行期Access Violation错误有哪些...
  • l799623787
  • l799623787
  • 2014-03-14 14:25:43
  • 767

DAX 错误另外一种解决办法

 一个是ParkingWindowProc()函数,修改如下:function ParkingWindowProc(Wnd: HWND; Msg, wParam, lParam: Longint): ...
  • zhoujiyuan
  • zhoujiyuan
  • 2008-07-05 19:30:00
  • 1575

网页出现“插件发生内部错误”怎么办…

网页出现“插件发生内部错误”怎么办,尤其是网页里面有音频或者视频的 解决方案:   1.用360软件杀一下病毒(可能是病毒的原因)   2.浏览器设置---Internet选项---高级--...
  • tianleiyang
  • tianleiyang
  • 2012-12-26 21:54:50
  • 270

Delphi 编写ActiveX控件(OCX控件)的知识和样例

一、ActiveX应用情况简介:                          ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分。ActiveX是微软公司推出的基于...
  • zang141588761
  • zang141588761
  • 2016-04-26 10:10:57
  • 2164

Mastering Delphi7 阅读笔记(摘要) 前八章

前八章目录:第一部分  基础第1章  Delphi7及其IDE    Delphi的版本    IDE概述    Delphi编辑器    窗体设计器    组件面板的秘密    管理项目    附加...
  • qffhq
  • qffhq
  • 2006-12-26 09:41:00
  • 4564

DAX 语法规范

数据分析表达式 (DAX) 是一个由函数、运算符和常量组成的库,可在 PowerPivot for Excel 中组合这些库元素以生成公式和表达式。本节提供了有关 DAX 语言的语法和要求的详细信息。...
  • zhongguomao
  • zhongguomao
  • 2017-02-28 16:11:31
  • 1843

DAX Calculate&SUMMARIZE 关键词的说明

CALCULATE SUMMARIZE DAX TABULAR
  • rav009
  • rav009
  • 2016-03-15 18:51:59
  • 1580
收藏助手
不良信息举报
您举报文章:fix DAX error(解决delphi编写的ocx控件中的DAX error问题)
举报原因:
原因补充:

(最多只允许输入30个字)