小编ain*_*ain的帖子

无法从TPanel获取TEdit句柄

我有一个主窗口,有一个TEdit和一个TButton我需要把手.他们都在TPanel里面.到目前为止我的代码是

    public void SendPacket(string packet)
    {
        IntPtr hWnd = Window.FindWindow(null, "AlissaAnalyzer");
        IntPtr panel = Window.FindWindowEx(hWnd, IntPtr.Zero, "TPanel", "");
        IntPtr edithWnd = Window.FindWindowEx(panel, IntPtr.Zero, "TEdit", "");
        IntPtr buttonhWnd = Window.FindWindowEx(panel, IntPtr.Zero, "TButton", "");
        //Do stuff with handles
    }
Run Code Online (Sandbox Code Playgroud)

这给了我TPanel和TButton的句柄,但TEdit为0.我不知道为什么这不起作用,因为它遵循Spy ++给我的结构:

间谍++窗口结构

这里有什么我想念的吗?我是否需要一种不同的方法来获取TEdit的句柄?我使用FindWindowEx错了吗?

c# delphi winapi handle

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

Delphi突触UDP客户端/服务器

我需要使用UDP协议创建带有synapse的服务器和客户端程序.

我创建了服务器程序来收听这样的任何消息

procedure TForm1.Timer1Timer(Sender: TObject);
var
 resive:string;
begin
  InitSocket;
  resive:=UDPResiveSocket.RecvPacket(1000);
  if resive<>'' then Memo1.Lines.Add('>' + resive);

  DeInitSocket;
end;

procedure TForm1.InitSocket;
begin
  if UDPResiveSocket <> nil then
    DeInitSocket;

  UDPResiveSocket := TUDPBlockSocket.Create;
  UDPResiveSocket.CreateSocket;
  UDPResiveSocket.Bind('0.0.0.0','22401');
  UDPResiveSocket.AddMulticast('234.5.6.7');
  UDPResiveSocket.MulticastTTL := 1;
end;

procedure TForm1.DeInitSocket;
begin
  UDPResiveSocket.CloseSocket;
  UDPResiveSocket.Free;
  UDPResiveSocket := nil;
end;
Run Code Online (Sandbox Code Playgroud)

所以我收到所有收到的消息.但我想从此消息的来源发送回复.

我怎样才能做到这一点?我的方法对服务器/客户端有用吗?

delphi client apache-synapse

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

KOL - 将PStream加载到TImage

我有一个保存在字符串中的jpeg文件.我想在Delphi7中将字符串加载/分配给TImage.我使用KOL代码如下:

var
 ImageStream : PStream;
 ImageString : String;
 MyJpeg      : TJpeg;
begin
 ImageStream:= NewMemoryStream; // Create New Stream.
 ImageStream.Write(ImageString [1], Length(ImageString )); // Fill the stream.
 ImageStream.Position := 0;     // Set Position to 0.
 // ImageStream.SaveToFile('C:\test.jpg', 0, ImageStream.Size); // Debug --> WORKS!
 MyJpeg := TJpegImage.Create; // Create a Jpeg Image. 
 MyJpeg.LoadFromStream(@ImageStream); // ???
 Image1.picture.Assign(MyJpeg);       // No picture is shown
end;
Run Code Online (Sandbox Code Playgroud)

它应该工作,因为PStream只是一个指向TStream的指针...但Timage中没有显示图片...感谢您的帮助:)

delphi delphi-7 kol

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

在delphi中使用SelectDirectory时从根目录搜索

SelectDirectory在delphi中使用该函数来选择一个文件夹.我将root设置为一个默认目录,用户正在查找的项目应该是.但是,如果我想能够在我上面的"上方"导航,那么我无法做到.

例如:

让我们说默认文件夹是C:\Program files\Default文件夹,当我在那里时,我可以查看所有文件夹并选择我想要的文件夹.但是,如果我想返回程序文件寻找另一个文件夹,那么我不知道我是怎么做的.

我也考虑过使用TOpenDialog,但我发现我无法选择文件夹并查看文件夹中存在的文件(重要的设置SelectDirectory).

有没有办法在根文件夹上方导航或者可能打开级联到文件夹的窗口,因为它会显示好像有人已经从计算机导航到根文件夹?

码:

SelectDirectory('Please select a directory', RootSearchLocation, ChosenDirectory,
               [sdShowEdit, sdNewUI, sdShowFiles, sdValidateDir], self);
Run Code Online (Sandbox Code Playgroud)

RootSearchLocation是C:\Program files\Default文件夹,ChosenDirectory是用户选择的目录.

所需的更多信息让我知道.

delphi directory

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

HTTP处理程序 - 何时应该使用return?

我对http处理程序和处理错误或重定向等问题有点困惑.

例如,如果由于某些条件检查我必须重定向,我应该执行以下操作:

func SomeHandler(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
    if thisThing != thatThing {
        log.Print("thisThing not equal to thatThing - redirecting")
        http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
        return // <-- is this necessary?
    }
 }
Run Code Online (Sandbox Code Playgroud)

go

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

如何将参数传递给我的auth中间件以获取数据库访问权限

在我的AuthMw中间件中,我想进行数据库调用.

我的数据库变量在main中初始化,如何将其传递给我的中间件AuthMw?

func main() {
    db, err := gorm.Open("postgres", ... )
    r := mux.NewRouter()
    r.Handle("/ws", serveWebsocket(hub))
    r.Use(AuthMw)

    //
    //
    ...

} // main


func AuthMw(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        token := r.URL.Query().Get("token")
        fmt.Printf("AuthMiddleware token is: %v\n", token)

        ctx := ....

        next.ServeHTTP(w, r.WithContext(ctx))
    })
}
Run Code Online (Sandbox Code Playgroud)

go

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

zip文件/文件夹的第三方组件

有人知道第三方组件允许直观地管理zip文件/文件夹吗?例如,在WinZip应用程序中(例如:添加,删除zipfile中的新文件等)?

delphi zip delphi-xe2

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

RAD Studio XE2中有dcc32.exe吗?错误:此版本的产品不支持命令行编译

RAD Studio XE2中有dcc32.exe吗?运行时获取错误:

此版本的产品不支持命令行编译.

delphi dcc32 delphi-xe2

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

mysql查询获取学生未注册的所有单元

我有两张桌子:chosenunitunits.在chosenunit表中有2列student_idunit_id.单位表具有系统中所有单位的列unit_idunit_name列.假设有2名学生的ids为1000和1001.他们注册了几个单元.selectedunit表将如下所示:

(1000,2000),
(1000,2001),
(1000,2006),
(1001,2000),
(1001,2004),
Run Code Online (Sandbox Code Playgroud)

我需要获得学生未注册的所有单元.如果1000登录系统,则需要显示除2000,2001,2006之外的所有主题的所有unit_names.

mysql sql

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

如何在 Delphi 7 中为某些代码添加书签?

与在 MS Visual Studio 中一样,我想为 Delphi 程序中的某些代码添加书签,但在 IDE 中找不到它。有了它,我将能够找回一段代码并在不同的文件之间切换,而不会丢失我正在工作的确切行。

在 Delphi 7 中可以吗?

ide delphi delphi-7

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

标签 统计

delphi ×7

delphi-7 ×2

delphi-xe2 ×2

go ×2

apache-synapse ×1

c# ×1

client ×1

dcc32 ×1

directory ×1

handle ×1

ide ×1

kol ×1

mysql ×1

sql ×1

winapi ×1

zip ×1