永发信息网

求讲解2句delphi源码,关于指针问题

答案:3  悬赏:0  手机版
解决时间 2021-05-17 09:36
  • 提问者网友:遮云壑
  • 2021-05-17 03:53

  一段delphi的DLL初始化代码

 

  procedure InitDll();
    var
      p: Dword;   求解Dword是 定义p为 子程序指针 么?
    begin
      p := $0053BBFF + 1;    这里赋值指针为 0053BBFF +1 的内存地址?
      PDword(p)^ := Dword(@proc_0053BBFF);  这里是写入新的回调函数么?
    end;              主要是上面这段  用中文说明即可 让我能理解 我用易语言写

 

三个问    令想交各种编程语言的朋友 交流 学习

最佳答案
  • 五星知识达人网友:街头电车
  • 2021-05-17 04:27

昨天问问出大问题了,此提问我回答了不下6遍,结果一条都没


楼上的很明显不是来回答这题的,结果给塞到这来了,BS问问


========================================下面是针对提问的回答


第一个,p不是指针,它只是个dword变量,尽管下面拿它来存储内存地址的数值


第二个,是把一个数值赋给p变量,如果没有下文的话,就和指针也没半点关系


第三个,把p变量内存储的那个值看成是一个内存地址,把它指针化(pdword),并给这个指针所指向的dword赋值,值是proc_0053BBFF的内存地址的数值

全部回答
  • 1楼网友:何以畏孤独
  • 2021-05-17 05:51

DWORD就是Double Word,1个Word是2字节,2个Word就是4字节(32Bits)了,的意思,其实就是int,指针就是一个指向内存地址的int值。

  • 2楼网友:洎扰庸人
  • 2021-05-17 04:57
您可以这样写:(D7下已经通过了) procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var strpos:string; //定义整形变量 begin strpos:=format('X=%3d, Y=%3d',[x,y]); //获取鼠标指针的当前坐标 statusbar1.panels[0].text:=strpos; //输出鼠标指针的当前坐标 Edit1.Text := intToStr(x); Edit2.Text := intToStr(y); end; 窗体unit1全部源码为: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) Edit1: TEdit; StatusBar1: TStatusBar; Edit2: TEdit; Label1: TLabel; Label2: TLabel; procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private public end; var Form1: TForm1; implementation procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var strpos:string; //定义整形变量 begin strpos:=format('X=%3d, Y=%3d',[x,y]); //获取鼠标指针的当前坐标 statusbar1.panels[0].text:=strpos; //输出鼠标指针的当前坐标 Edit1.Text := intToStr(x); Edit2.Text := intToStr(y); end; end. ------------------------------------------------ 窗体上定义2个Edit组件,分别叫edit1和edit2,有定义一个statusbar组件叫statusbar1,对statusbar1进行编辑,起码有一个元素panels[0],其width=150,这些是基本条件,你早就知道了。 按照以上做法就可以在 edit1上显示x值,edit2上显示y值,在状态条上显示x和y值 -----------------------------------------------
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯