如果不用皮肤,那个DbLookupTreeView很正常,用了皮肤,第一次点DbLookupTreeView,出现了错误,错误标示指向该函数的第一行,见下。以上是在IDE中运行,如果编译成exe,会出错,弹出一个内存犯规的错误,但第二次以后点就正常了。procedure TCustomdxTreeView.CNNotify(var Message: TWMNotify);
var
  pnmlv: PNMLVCustomDraw;
  tr: TTreeNode;
  htr: HTReeItem;
  Color, BkColor: TColor;
  St: String;
begin
  if (Message.nmhdr^.code = NM_CUSTOMDRAW) {$IFDEF DELPHI5}and not (Assigned(OnAdvancedCustomDraw)
    or  Assigned(OnAdvancedCustomDrawItem)){$ENDIF} then
  begin
    pnmlv := PNMLVCustomDraw(TMessage(Message).lParam);
    if pnmlv^.nmcd.dwDrawStage = CDDS_PREPAINT then