小编Tim*_*Tim的帖子

delphi非可视组件图像

我正在构建一个delphi非可视组件.如何在IDE中设置我想要的图像?

delphi

12
推荐指数
1
解决办法
2094
查看次数

在我的DLL中的Delphi中,我必须分配一个函数的return pchar

我有一个DLL,其中我有一个返回pchar的函数.(为了避免使用borlndmm)我最初做的是将字符串作为pchar转换并返回

Result := pChar(SomeFuncThatReturnsString)
Run Code Online (Sandbox Code Playgroud)

但是我90%的时间都得到了预期的结果,而其他时候我什么都没回来.

然后我开始认为我需要为pchar分配内存,并且我原来的方式就是拥有一个pchar指向内存,这并不总是在最初调用该函数时的内容.所以我现在有这个

Result := StrAlloc(128);
Strcopy(Result,PAnsiChar(Hash(Hash(Code,1,128),2,128)));
Run Code Online (Sandbox Code Playgroud)

但这让我不得不清理程序端的已分配内存

StrDispose(Pstr);    
Run Code Online (Sandbox Code Playgroud)

所以64美元的问题是:从DLL中的函数返回PChar时我是否必须分配内存,或者我可以将其转换为PChar?

delphi dll delphi-2007 pchar

9
推荐指数
2
解决办法
7024
查看次数

如何在覆盖模式下更改Delphi的光标形状?

当使用Delphi,任何版本时,我有时会碰到插入键并打开覆盖模式.这通常是一个很大的麻烦,您进入覆盖模式的唯一指示是编辑器底部的小文本.

使用其他程序时(首先要记住的是Notepad ++)当你处于插入模式时,文本光标是|,当你处于覆盖模式时,光标变为_

在覆盖模式下,是否有某个选项或某种方法让Delphi使用不同的文本光标?

delphi

9
推荐指数
1
解决办法
1905
查看次数

Delphi的KeyPreview如何运作?

一位同事和我本人正在就哪种方式减轻系统资源负担进行辩论.(注意:这不是我想要答案的问题.相反,标题和粗体下面的行是我寻求答案的问题.)

1. Using KeyPreview to get the keypresses on a form.
Run Code Online (Sandbox Code Playgroud)

要么

2. Using defining an OnMessage procedure and handling it there.
Run Code Online (Sandbox Code Playgroud)

乍一看似乎KeyPreview不会占用系统负担,因为定义OnMessage过程会导致我们的程序检查每条消息.我们不关心的注意消息会导致它被第一个if语句跳出.在最坏的情况下,我们会为每条消息执行if语句.

但我们想知道Delphi如何处理KeyPreview属性......我们想知道Delphi是否在内部定义了自己的OnMessage并查看消息然后触发与keypresses相关的事件.

如果是这种情况,那么两种方法都会大致相同吗?

delphi

9
推荐指数
2
解决办法
7232
查看次数

向表单添加边框图标

使用Delphi我想在边框图标按钮上添加另一个按钮; 关闭,最大化,最小化.关于如何做到这一点的任何想法?

windows delphi titlebar delphi-2007 custom-titlebar

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

delphi新项目不是从form1开始的

所以这只是一个小小的烦恼但是当我启动delphi并开始一个新项目只是为了测试一些东西我希望它是form1,unit1等.但是它在表单2开始新的项目.我该如何解决这个问题?我怀疑为项目找到了默认的保存空间,但我没有.我正在使用delphi 2007和Windows 7.

delphi delphi-2007

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

从Delphi中的richedit获取richtext

有没有办法从richedit获取RTF数据而不使用savetostream

strStream := TStringStream.Create('') ;
try
  RichEdit.Lines.SaveToStream(strStream);
  Text := strStream.DataString;
  strStream.CleanupInstance;
finally
  strStream.Free
Run Code Online (Sandbox Code Playgroud)

delphi richedit delphi-2007

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

ms从查询中的文件访问导入表

有没有办法让msAccess数据库查询从文件导入表?

sql ms-access

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

我的delphi应用程序的内存占用

我有一个很大的delphi应用程序,我试图保持低内存占用.

在我的程序中,我使用的是一个组件(Taco)和一个继承自taco的组件(TBurrito).现在只关注类的内存使用情况而不是实际实例,哪种情况使用更多内存?

A.到处使用TBurrito组件

要么

B.使用Taco和TBurrito组件的组合?

我的一个想法是,由于TBurrito继承了Taco,因此Taco类已经存储在内存中,因此使用它不会增加内存的占用空间.

*注意 - 组件名称不是真正的Taco和Burrito.

delphi object memory-footprint

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

delphi TBitmap是否支持alpha通道

我听到人们说它不是.

但是,我创建了一个TBitmap并清除了整个区域

For I := 1 to bmp.Width do
  For J := 0 to bmp.Height do
    bmp.canvas.Pixels[I,J]:= $00000000;
Run Code Online (Sandbox Code Playgroud)

然后我将抗锯齿文本绘制到位图上并将其保存到文件中.在gimp中打开它时会显示透明度信息.

有没有人对此有明确的答案,如果它确实有效,那么有关它如何工作的更多信息?我试过玩最后一个字节,当我在gimp中打开它时,我没有得到预期的结果.

delphi alpha bmp

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

Delphi可以在linux上运行Soap服务器应用吗?

我一直在努力在Delphi中创建soap服务器然后运行并通过IIS在我的localmachine上托管它们.

我有一个godaddy帐户是linux托管,我很好奇,如果我能够在这个托管上使用Delphi创建的Soap服务器?

linux delphi soap web-services

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

Delphi,通过BeginThread传递指针

我正在使用BeginThread创建一个线程.

在我用来启动线程的过程中,我想传递一个指向boolean变量的指针,这样分叉线程和主线程都可以作为控制变量访问它,以便在另一个完成时告诉它.

由于开始线程接受了我试图在Addr(MyPointerVar)中传递的参数的指针,但我收到错误.

但我必须这样跑,所以我今晚无法完成我的想法.但如果有人对此有任何想法我很感激.

delphi pointers beginthread

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

如何将一组对象传递给函数进行创建?

所以我在Delphi 2007工作,我正在清理我的代码.我注意到在很多程序中我声明了许多相同类型的不同变量.

例如我现在正在查看的一个程序我声明了4个不同的字符串列表,我必须var1 := TStringList.Create为每个列表输入.

我有想法制作一个程序,它接受一个开放的变量数组,我的4个变量列表,然后创建它们.电话会是这样的

CreateStringLists([var1,var2,var3,var4]);
Run Code Online (Sandbox Code Playgroud)

但据我所知,你不能通过引用传递开放数组,因此不能做我希望的事情.有没有人对此有任何有趣的想法?

delphi delphi-2007 variable-initialization open-array-parameters

0
推荐指数
1
解决办法
292
查看次数