if object_id('tempdb..#tempTable') is not null
Begin
    drop table #tempTable
End

posted @ 2012-03-02 10:12 D10.天地弦 阅读(8) 评论(0) 编辑

查看ehgrid源码

procedure TCustomDBGridEh.DefaultDrawColumnCell(const Rect: TRect;
  DataCol: Integer; Column: TColumnEh; State: TGridDrawState);

    .......

    //modify by mofen
    if CheckBoxGrayAsUnChecked and (Column.CheckboxState = cbGrayed) then
    begin

      //如果是灰色状态
      PaintButtonControl {Eh}(Canvas.Handle, ARect1, Canvas.Brush.Color, bcsCheckboxEh,
        0, Flat, False, True, cbUnchecked
        );
    end else
    begin
      //DrawCheck(Canvas.Handle,ARect1,Column.CheckboxState,True,Flat);
      PaintButtonControl {Eh}(Canvas.Handle, ARect1, Canvas.Brush.Color, bcsCheckboxEh,
        0, Flat, False, True, Column.CheckboxState
        );
    end;

posted @ 2012-02-20 16:00 D10.天地弦 阅读(39) 评论(0) 编辑
tomcat配置虚拟路径的4种方法
在tomcat中,webapp文件夹默认为web应用的根目录。

1.在tomcat\conf\server.xml中找到 host标签,在host标签中增加新的元素<Context/>并设置 Context的元素,其中path元素所设置的值就是在浏览器中所要访问的虚拟路径的名称;docBase元素所对应的值就是web应用所在的具体目录,这里既可以的相对webapp的相对路径,也可是文件的绝对路径。

<Engine name="Catalina" defaultHost="localhost">
.......

<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

       <Context docBase="SHARP" path="/test" reloadable="true" />

       <!--<Context docBase="D:/SHARP" path="/test" reloadable="true" />-->
      </Host>

</Engine>

2.在tomcat\conf\Catalina\localhost文件夹中设置一个web应用名称一样的xml文件。在xml文件中内容有一个<Context/>标签。

<Context path="/test" reloadable="true" />

3.直接在webapp目录下建一个包含WEB-INF/web.xml的项目应用文件夹,在游览器访问页面时会自动将此项目文件的名件名作为虚拟目录的名称。

4.直接在webapp目录下发布一个打包好的WAR文件,tomcat会自动解压war文件,在游览器访问页面时会自动将此项目文件的名件名作为虚拟目录的名称。
posted @ 2012-02-11 15:09 D10.天地弦 阅读(30) 评论(0) 编辑

 

 1   TFMDesign = class(TFMBase, IDataSetOperator)
 2   public
 3     //注意名称要不一样,重新定义保存方法
 4     procedure IDataSetOperator.DoApplyUpdates = ApplyUpdates;
 5 
 6     //重写保存方法
 7     procedure ApplyUpdates; stdcall;
 8 
 9     //接口用对象
10     property __Service: TDataSetOperator read F__Service write F__Service
11         implements IDataSetOperator;
12   end;

 

posted @ 2011-11-29 15:21 D10.天地弦 阅读(15) 评论(0)  编辑

在设计器中View->Options中调整Grid的大小默认为0.1mm,调成0.01后可以进行微调

posted @ 2011-11-03 10:07 D10.天地弦 阅读(20) 评论(0) 编辑
摘要: 先来段代码typeMyString=AnsiString;PMyChar=PAnsiChar;procedureTForm2.Button2Click(Sender:TObject);varp:PMyChar;s,s2:MyString;beginself.Caption:='frmTest';//7位的字符串p:=GetCaption;s2:=p;//这是时候s2为frmTesShowMessage(s2); //*****显示出来为frmTesend;functionTForm2.GetCaption:PMyChar;vars1,s2:MyString;begins2:=M阅读全文
posted @ 2011-10-20 13:54 D10.天地弦 阅读(36) 评论(0)  编辑
摘要: var ws: WideString; s: AnsiString; pw: PWideChar; p: PAnsiChar;begin ws := 'ab中cd'; pw := PWideChar(ws); s := ws; //p:=PAnsiChar(s); 正确 //p:=PAnsiChar(String(pw)); //不正确 p := PAnsiChar(pw); //这样转换,inc(p)后 显示的为00对应的为空 inc(p, 1); // ShowMessage(p^);双字节a:6100单字节a:61阅读全文
posted @ 2011-10-19 15:31 D10.天地弦 阅读(32) 评论(0)  编辑
摘要: functionTStrIntfHashMap.Remove(constKey:string):IInterface;varBucket:PStrIntfBucket;I:Integer;{$IFDEFTHREADSAFE}CS:IInterface;{$ENDIF}begin{$IFDEFTHREADSAFE}CS:=EnterCriticalSection;{$ENDIF}Result:=nil;ifKey=''thenExit;Bucket:=@(FBuckets[FHashFunction(HashString(Key))]);forI:=0toBucket.Count阅读全文
posted @ 2011-10-08 08:26 D10.天地弦 阅读(34) 评论(0)  编辑
摘要: //转自http://www.cnblogs.com/MurphyAefe/articles/1741825.html{ 说明:该事例实现的效果,在单个应用或代码量小的项目中,可以完全不用接口委托来完成。 之所以采用委托接口,主要是应用到:已经实现的接口模块中,在不改变原有代码的情况下, 需要对其进行扩展;原始模块只需要开放部分功能,但又不能暴露实现细节的场合;}unit TestUnit;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCt阅读全文
posted @ 2011-09-30 15:32 D10.天地弦 阅读(29) 评论(0)  编辑
摘要: ALTER DATABASE CXFX_DATASET ALLOW_SNAPSHOT_ISOLATION ONALTER DATABASE CXFX_DATASET READ_COMMITTED_SNAPSHOT ON//原来帮助里面写了,执行该语句时不能有其他东西连接数据库,难怪前几次执行了N久都没有反应,帮助没看仔细阅读全文
posted @ 2011-09-05 20:30 D10.天地弦 阅读(30) 评论(0)  编辑