小编dur*_*ara的帖子

Delphi - 需要COM/OLE启动示例

自从我使用COM/OLE以来已经过了10年,我忘记了90%.现在我们需要创建一个COM对象来访问PHP/Python中的一些数据(这是特定的事情,php ODBC不能访问DataBase的输出参数 - 比如存储过程输出),而我的想法是我实现了最小化一个方法的对象,PHP/Python可以调用它来获取输出...

procedure ExecSQL(Config, IP, Port, DBName, SQL, IDFieldName : variant) : output
output is [IDValue, ErrorMsg, HResult] 
Run Code Online (Sandbox Code Playgroud)

请帮我一个很小的例子,如何启动它?我只需要这个,但我对调色板中的许多ActiveX/COM感到困惑.我需要用什么来制作一个简单的COM DLL,以及如何用这个DLL注册我的COM对象?

谢谢:dd

delphi com dll

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

Delphi:在设计模式下"找不到资源" - 为什么?

我收到了一个错误,我不知道为什么会得到它...

所以:我有一个基于sAlphaButton的新组件.这有ImageList属性,我的组件用我自己的标题/图像扩展这个按钮,翻译成匈牙利语.

我使用LoadRes来获取预定义的图像.

看到这个:

procedure TScrollPNGButton.LoadAsImageListFromRes(ResNames : TStrings; IL : TsAlphaImageList);
var
    s : string;
    i : integer;
begin
    IL.CLear;
    for i := 0 to ResNames.Count - 1 do begin
        s := ResNames[i];
        AddImageFromRes(hInstance, IL, s, ifPNG);
    end;
end;


procedure TScrollPNGButton.LoadResToImageList;
var
    sl : TStringList;
begin
    sl := TStringList.Create;
    try
        sl.Text :=
            Trim(
                    'scrollpngbutton_ok'#13 +
                    'scrollpngbutton_cancel'#13 +
                    'scrollpngbutton_close'#13 +
                    'scrollpngbutton_yes'#13 +
                    'scrollpngbutton_no'#13 +
                    'scrollpngbutton_refresh'#13 +
                    'scrollpngbutton_print'#13 +
                    'scrollpngbutton_email'#13 +
                    'scrollpngbutton_add'#13 +
                    'scrollpngbutton_delete'#13 +
                    'scrollpngbutton_edit'#13 +
                    ''
                );
        LoadAsImageListFromRes(sl, FImgs);
    finally …
Run Code Online (Sandbox Code Playgroud)

delphi resources components

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

Delphi:如何从WebBrowser到达(读取和写入)javascript变量

我创建了一个网页,我想访问一个html页面的R/W的javascript变量.

...
<script>
  var _ANYINT = 0;
  var _ANYOBJ = 0;
</script>
...
Run Code Online (Sandbox Code Playgroud)

我怎样才能读取变量?

function ReadInt(varName) : integer
   Result := webbrowser.document.all.?????????? var Name  ?????
end;

r := ReadInt('_ANYINT');
Run Code Online (Sandbox Code Playgroud)

以及如何写入?

谢谢:dd

html javascript delphi variables

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

使用Delphi 6专业IDE中的DCC32编译项目

IDE:Delphi 6 Professional.

我们有大项目.

我无法使用项目组来构建它们,因为我在执行此操作时遇到了OM错误和奇怪的文件错误.

我的想法是我将使用DCC32.exe之前我与命令行参数(dcc32.cfg)打架,但我认为我解决了它...

今天我尝试用它来编译项目,但是在第一个项目中我遇到了错误.

chdir c:\ d\anyproject dcc32 -b any.dpr

错误报告我没有找到一个单位.我试图在Delphi中编译,但它很成功.

所以我检查了问题.为什么以前的项目建筑成功,为什么这不是......?

然后我意识到这个dpr正在使用对子目录的引用,但不是所有添加到项目中的文件,其中更多是通过项目的"搜索路径"链接的.

但如果这是真的,那么这意味着DCC32没有使用项目的DOF/CFG文件!

所以问题是Delphi合并了所有内容以提供结果.它合并了全局搜索路径,项目的编译器指令,搜索路径,所有内容,以及使用项目的条件指令.

如果我理解得很好,DCC32不使用,只有dcc32.cfg,我必须合并所有的编译,这是一个不可能的工作,因为我需要编写一个解析器,解释项目的参数,并合并用全局变量.

或者我误解了一些问题,问题是由我错过的其他事情引起的?

我在等你的建议!

感谢所有想法,链接,信息等.

delphi delphi-6

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

Delphi XE3:Chr Ansi版本?

我有自己的带加密功能的D6 pas库.今天我尝试在XE3下使用它,并且由于unicode我在其中发现了许多错误.我试图移植到AnsiString,但是我在chr(nnn)上失败了,这在Delphi6下是8位限制.

我试图解释这个问题:

    Str := chr(hchar);
    AStr := Str;
Run Code Online (Sandbox Code Playgroud)

Str - string; AStr - ansistring.

当hchar为216(diamater)时,AStr变为"O",Ascii 79是什么......此时我失去了原始值.

Ansi Chr有什么功能吗?例如:"AChr(xxxx)"

或者我需要更改我的代码以不在内部部分使用字符串,只有字节,然后将这些字节转换为AnsiString?

感谢您的任何建议,帮助,信息!

DD

delphi unicode ansi chr delphi-xe3

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

对角刷样式给我黑色区域

我想用这段代码画一个对角十字形到Canvas:

InFlateRect(r, -1, -1);
Canvas.Brush.Color := clYellow;
Canvas.Brush.Style := bsFDiagonal;
Canvas.Pen.Color := clRed;
//Pen.Style := psClear;
Canvas.Rectangle(r);
Run Code Online (Sandbox Code Playgroud)

但结果是一个黑盒子.

如果我删除了样式更改,我得到了一个正常的黄色区域.

为什么这个代码的矩形是黑色的?

谢谢你的每一个建议


很抱歉找不到相关信息,我将其扩展:此过程使用TMetaFileCanvas进行绘制.在普通表格上,我可以绘制任何画笔样式,如TShape ......

delphi styles canvas brush

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

Delphi:格式化日期时间,不包括午夜的时间

西雅图德尔斐(Delphi Seattle):

我想使用以下规则(如DateTimeToStr)在cxGridDBTableView(Devexpress,cxGrid)中格式化日期时间字段:

  • 午夜-00:00:00-时间部分不可见
  • 其他时间-时间部分可见

我记得formatdatetime HH:NN:SS显示时间部分“每次”。

您知道模拟DateTimeToStr的选项吗?我想在存储库中使用它。

谢谢!

delphi format time datetime repository

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

Delphi:如何从 idHTTPServer.OnCommandGet 方法在主线程中执行过程

我必须在我们的应用程序中创建一个嵌入式 HTTP 服务器。这个必须是为进程间通信创建的,因为对方只能调用WebService。

我们不需要一次处理更多请求,但我必须使用来自主线程的库和数据库连接。

Delphi版本是Seattle,Indy版本是10(内部)。

据我所知,IdHTTPServer 使用线程进行连接 - 和以前一样。但是新的事件处理程序不直接传递 Thread - 所以我不能像 N 年前那样调用 TThread.Synchronize。而且我没有找到任何获取线程的方法。

我在某处读到 TIdSync 或 TIdNotify 类可以帮助我。我找不到任何完整的例子来了解如何。

看到这个简单的代码。在主线程中完成我的工作就足够了吗?

procedure TForm5.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
    AResponseInfo: TIdHTTPResponseInfo);
begin
    FURI := ARequestInfo.URI; // Store the URI for main thread access
    FResult := '';
    TIdSync.SynchronizeMethod(Self.ProcessIt); // Call sync to process in VCL thread
    AResponseInfo.ContentText := FResult; // This variable contains the result
end;
Run Code Online (Sandbox Code Playgroud)

还是我做错了什么?

感谢您的帮助!

delphi multithreading vcl thread-safety idhttp

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

Delphi:MAPILOGON 错误代码 1

我尝试了许多版本的 MAPISend,但每次都在一处出错。MAPILogon 返回错误代码 1。

dwRet := MapiLogon(Handle,
nil,
nil,
 MAPI_DIALOG or MAPI_NEW_SESSION,
0, @MAPI_Session);
Run Code Online (Sandbox Code Playgroud)

我尝试使用“MAPISend 组件”,这段代码:

http://prog.hu/tudastar/60044-6/Delphi-Email+csatolt+file+thunderbird.html

和另外 2 个。

有趣的是,Acrobat Reader 可以使用具有附加到电子邮件功能的 MAPI,并且“发送”“邮件中”上下文菜单也可以工作。

我不明白为什么它不起作用,在我的机器(Win7)中它工作正常。

然后我失败的机器有WinXP操作系统,他们使用Thunderbird。

我可以做什么才能成功登录 MAPI?

谢谢:dd

delphi authentication mapi thunderbird send

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

KOL应用程序的主要图标

我想用KOL制作非常小的Exe.

一切似乎都没问题,但我不知道如何设置应用程序的主图标(在任务栏中).

delphi kol

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

Delphi,Win7,表单问题,兼容性

我们有Win7/x64和Delphi6.许多事情都像WinXP一样,但我发现了一个非常令人不安的现象.

我在构建中多次放入源代码,并尝试使用此功能.然后Delphi开始将所有表单放到前台.当它完成构建时,我看到很多形式,我需要将它们关闭以返回源代码.

更令人不安的是,有时在构建或加载项目,或???? Delphi也开始将表单推送到前台,但它在这个操作上被绞死了.每个表格都被触摸并镶嵌到顶部窗口,它们也可以在任务托盘中看到.当全部可见时,Delphi将它们全部隐藏起来.并从头开始.

我需要关闭流程.

我尝试在Delphi上设置兼容性WinXp,但是当我尝试用ShellExec或DblClick打开一个dpr时,我得到系统警告"进程要修改系统",当我点击允许(是)时, dpr没有加载...... :-(

你有同样的问题吗?

怎么解决?

谢谢:dd

forms delphi compatibility windows-7

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