小编non*_*one的帖子

ms sql使用日期时间参数调用存储过程

如何调用具有日期输入的存储过程.

spName getDate()
Run Code Online (Sandbox Code Playgroud)

不起作用.

问题是关于在ms sql管理工作室内调用.

sql sql-server stored-procedures clrstoredprocedure

3
推荐指数
1
解决办法
5707
查看次数

这里的观察者实现是否有内存泄漏?

也许我不太了解德尔福,但是我想问你:

在这个网站:http://blogs.teamb.com/joannacarter/2004/06/30/690我发现了一个基于iterface的观察者模式的实现.

在做附件时,有一个调用:

procedure TSubject.Attach(Observer: IObserver);
begin
    if fObservers = nil then
      fObservers := TInterfaceList.Create;
    fObservers.Add(AObserver);
    Notify;
end;
Run Code Online (Sandbox Code Playgroud)

在分离中它有代码

procedure TSubject.Detach(Observer: IObserver);
begin
   if fObservers <> nil then
    begin
      fObservers.Remove(AObserver);
      if fObservers.Count = 0 then
        fObservers := nil;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

它应该是:

procedure TSubject.Detach(Observer: IObserver);
begin
   if fObservers <> nil then
    begin
      fObservers.Remove(AObserver);
      if fObservers.Count = 0 then begin
        fObservers.Free; 
        fObservers := nil;
      end;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi memory-leaks design-patterns

3
推荐指数
2
解决办法
327
查看次数

delphi 7 TImage和TImageList

让我是整数私人

代码

procedure TForm1.Image1Click(Sender: TObject);
begin
  inc(i);
  ImageList1.GetIcon(i mod 4,Image1.Picture.Icon);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i:=0;
  ImageList1.GetIcon(i mod 4,Image1.Picture.Icon);
end;
Run Code Online (Sandbox Code Playgroud)

如何从列表中拉伸图标以适合Image1的大小?

delphi timage delphi-7 timagelist

3
推荐指数
1
解决办法
2548
查看次数

delphi分配给const?

本网站:http://www.drbob42.com/delphi/wizards.htm

在底部显示了一个非常令人费解的代码

 unit ShareMem;
 { (c) 1997 by Bob Swart (aka Dr.Bob - http://www.drbob42.com }
 interface

 const
...
 uses
   Windows;

 const
   Handle: THandle = 0;
...
 function GetCommandLine: PChar; stdcall;
   external 'kernel32.dll' name 'GetCommandLineA';
...
   begin
     Handle := LoadLibrary('BCBMM.DLL');
 end.
Run Code Online (Sandbox Code Playgroud)

怎么会这样?

delphi const

3
推荐指数
1
解决办法
2553
查看次数

delphi声明ansi字符串的大小

很容易定义一个大小为3的字符串(在旧的delphi代码中)

st:string[3];
Run Code Online (Sandbox Code Playgroud)

现在,我们希望将代码移至ansi

st:ansiString[3];
Run Code Online (Sandbox Code Playgroud)

不行!

并为adcanced oem类型

st:oemString[3]; 
Run Code Online (Sandbox Code Playgroud)

同样的问题,在哪里

type
  OemString = Type AnsiString(CP_OEMCP);
Run Code Online (Sandbox Code Playgroud)

怎么可以声明一个固定长度的ansi字符串和新的oem类型?

更新:我知道它会创建一个固定长度的字符串.它是防止错误的软件设计的一部分,对程序至关重要.

arrays delphi ansi delphi-2009

3
推荐指数
1
解决办法
5257
查看次数

omn​​i xml,是否有一个简单的当前示例来读取xml文件?

寻找Omni Xml包的可读示例使用.

现在的文档是两个例子,用于加载和编写,没有关于阅读,也没有迭代.

你能提供一个简单的阅读Xml,一个可重复属性的例子

<root>
<value p1=1></value>
<value p1=2 p2='32432'/>
<value p1=3 p3='fdsf'><other></other></value>
</root>
Run Code Online (Sandbox Code Playgroud)

如何迭代所有值并获取p1属性.

xml delphi delphi-2009 omnixml

3
推荐指数
1
解决办法
1278
查看次数

delphi ole excel容器,保存文件

Delphi中这个c ++问题的语法是什么?

使用oleContainer后,尝试执行无效的SaveDocumentAs.我认为这可能是一个很好的选择.

更新:感谢您的翻译,但excel文件在通话结束后进行了调整

var
  ExcelOle: TOleContainer;
begin
  ExcelOLE.CreateObjectFromFile(FileName, False);
  ExcelOle.OleObject.application.workbooks[1].save;
end;
Run Code Online (Sandbox Code Playgroud)

delphi excel ole delphi-2009

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

delphi comboBox

如何从delphi 7中获取组合框的选取值

让我们说它有项目,如何知道哪一行(项目)被选中?

delphi combobox delphi-7

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

德尔福2009演员阵容长度为2

看看如何抑制编译器发出的可能数据丢失的警告,

st:= copy(str,0,2);
Run Code Online (Sandbox Code Playgroud)

其中st是string [2],str有2个以上的字符.

并且复制被定义为从str返回一个新的字符串,它是0,2个位置的子集.

delphi string casting delphi-2009

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

将参数传递给Synchronize过程调用

在创建线程对象时,我想从需要同步的应用程序中调用代码.问题是我不知道如何调用Synchronize带参数的应用程序函数.

说我们有

procedure ThreadObject.Execute;
var
  val1,val2:integer;
  Star:string;
begin
  Synchronize(funcyfunc); //how to pass val1,val2,star here?
end;
Run Code Online (Sandbox Code Playgroud)

其中funcyfunc定义如下

procedure OtherClass.funcyfunc(param1,param2:integer;spok:string);
begin
   letsCallFriends(spok,param1);
   letsCallFriends(spok,param2);
end;
Run Code Online (Sandbox Code Playgroud)

现在奇怪的解决方案是在ThreadObject私有中说

private
  star:string;
  val1,val2:integer;
  procedure starVal;
Run Code Online (Sandbox Code Playgroud)

在我们的实施中

procedure ThreadObject.starVal;
begin
  funcyfunc(Star,val1,val2);
end;
Run Code Online (Sandbox Code Playgroud)

并在线程执行中我们改为

procedure ThreadObject.Execute;
var
  val1,val2:integer;
  Star:string;
begin
  Synchronize(starVal); //how to pass val1,val2,star here?
end;
Run Code Online (Sandbox Code Playgroud)

但这是一个麻烦,因为每个过程调用必须有一个全局变量.有没有更好的办法?

码:

unit ThreadObject;

interface

uses
  Classes;

type
  TThreadObject= class(TThread)
  private
    star:string;
    val1,val2:integer;
    procedure starVal;
  protected
    procedure Execute; override;

    //assume we have a constructor that ini the star …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading delphi-2009 synchronize

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