小编hik*_*ari的帖子

Delphi,发布WinInet并跟踪上传进度

如何使用WinInet api在Delphi中发送HTTP POST请求相关:

如何发布帖子请求并跟踪进度?

这不起作用(查看评论):

procedure StatusCallback(
  hInet:        HINTERNET;
  Context:      DWORD_PTR;
  Status:       DWORD;
  pInformation: Pointer;
  InfoLength:   DWORD ); stdcall;
var
  s: string;
  c: Cardinal;
begin
  case Status of
    INTERNET_STATUS_CLOSING_CONNECTION: s := 'Closing the connection to the server';
    INTERNET_STATUS_CONNECTED_TO_SERVER: s := 'Successfully connected to the socket address: ';
    INTERNET_STATUS_CONNECTING_TO_SERVER: s := 'Connecting to the socket address';
    INTERNET_STATUS_CONNECTION_CLOSED: s := 'Successfully closed the connection to the server';
    INTERNET_STATUS_CTL_RESPONSE_RECEIVED: s := 'Not implemented';
    INTERNET_STATUS_HANDLE_CLOSING: s := 'This handle value has been …
Run Code Online (Sandbox Code Playgroud)

delphi wininet

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

在表单上嵌入 Menu/PopupMenu 或 TListItems

有什么办法可以直接在窗体上嵌入一个 TPopupMenu ,就好像它是一个总是打开的面板一样?或者可能只是 TMenuItems。

delphi

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

Delphi XE2 64bit:记录指针,无效的类型转换

我如何重新编写这个以在64位上为Delphi XE2编译?

在第一个代码上我得到的错误大小超过2gb.

在第二个,Invalid Typecast on:if int64(TMethod(FOnChangeOO [i1]))= int64(TMethod(changeEvent))然后

1)TExtBool =(不,是,其他);

  TAByte          = array [0..maxInt      -1] of byte;
  TAShortInt      = array [0..maxInt      -1] of shortInt;
  TAChar          = array [0..maxInt div sizeOf(Char)-1] of Char;
  TAAnsiChar      = array [0..maxInt      -1] of AnsiChar;
  TAWideChar      = array [0..maxInt shr 1-1] of WideChar;
  TABoolean       = array [0..maxInt      -1] of boolean;
  TAExtBool       = array [0..maxInt      -1] of TExtBool;
  TAWord          = array [0..maxInt shr 1-1] of word;
  TASmallInt      = array [0..maxInt shr 1-1] of smallInt;
  TACardinal      = …
Run Code Online (Sandbox Code Playgroud)

delphi 64-bit delphi-xe2

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

Delphi:以管理员身份运行的应用程序不会从非管理员应用程序接收消息

我想使用SendMessage / PostMessage将消息发送到另一个应用程序,但是当另一个应用程序以管理员身份运行时,它永远不会收到消息。如何在不以管理员身份运行“发送”应用程序的情况下克服此问题?

编辑:Remi的答案,接收器应用程序的代码

Const dummyValue = WM_USER + 71423;

  Application.HookMainWindow(AppClass.AppHookFunc);
  ChangeWindowMessageFilter(dummyValue, MSGFLT_ADD);

Type TAppClass = class
  function AppHookFunc(var Message : TMessage): Boolean;
end;

Var AppClass: TAppClass;

function TAppClass.AppHookFunc(var Message : TMessage): Boolean;
begin
  Result := False;
  Case Message.Msg of
    dummyValue: begin
      // do stuff
      //
      Result := True;
    end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi winapi postmessage sendmessage

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

Delphi - 快速(呃)XML解析器

我正在为Delphi寻找一个非常快速的XML解析器,用于非常简单的数据.

考虑以下类型的数据:

<node>
    <datatype1>randomdata</datatype1>
    <datatype2>randomdata</datatype2>
    <datatype3>randomdata</datatype3>
    <datatype4>randomdata</datatype4>
    <datatype5>randomdata</datatype5>
    <datatype6>randomdata</datatype6>
    <datatype7>randomdata</datatype7>
    <datatype8>randomdata</datatype8>
    <datatype9>randomdata</datatype9>
    <datatype10>randomdata</datatype10>
    <datatype11>randomdata</datatype11>
    <datatype12>randomdata</datatype12>
    <datatype13>randomdata</datatype13>
    <datatype14>randomdata</datatype14>
    <datatype15>randomdata</datatype15>
    <datatype16>randomdata</datatype16>
    <datatype17>randomdata</datatype17>
    <datatype18>randomdata</datatype18>
    <datatype19>randomdata</datatype19>
    <datatype20>randomdata</datatype20>
</node>
Run Code Online (Sandbox Code Playgroud)

复制10000次(数据类型和数据在实际场景中明显不同).还要考虑包含Unicode的数据.

这将被解析并加载到像这样的记录数组中

Type MyData = record
  d1,d2,d3,d4,d5,
  d6,d7,d8,d9,d10,
  d11,d12,d13,d14,d15,
  d16,d17,d18,d19,d20: string;
end;
Run Code Online (Sandbox Code Playgroud)

我为此编写了一个自定义解析器,它在我的计算机中占用大约.从加载文件到填写10,000条记录,整个过程为115毫秒.

所以我正在寻找可以更快地实现这一目标的东西.

相关问题:

在utf8字符串边界内的Pos()

Delphi - 带边界的Pos()

xml delphi assembly parsing

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