pBuf:Pointer;
pbuf:=pinfo.aData[i].NotifyData.Data.pBuf;
如何取得pbuf里的值?????

解决方案 »

  1.   

    pinfo.aData[i].NotifyData.Data.pBuf
    指的是什么样的一个结构,根据这个结构才能取值吧!!!!
      

  2.   

    PRINTER_NOTIFY_INFO_DATA structures. typedef struct _PRINTER_NOTIFY_INFO_DATA {  
        WORD   Type; 
        WORD   Field; 
        DWORD  Reserved; 
        DWORD  Id; 
        union { 
            DWORD  adwData[2]; 
            struct { 
                DWORD  cbBuf; 
                LPVOID pBuf; 
            } Data; 
        } NotifyData; 
    } PRINTER_NOTIFY_INFO_DATA; 
      

  3.   

    PRINTER_NOTIFY_INFO_DATA在DELPHI的相应类型,例如PTestwith PTest(pbuf)^ do
    begin
      Type
      Filed
      ....
    end;
      

  4.   

    union { 
            DWORD  adwData[2]; 
            struct { 
                DWORD  cbBuf; 
                LPVOID pBuf; 
            } Data; 
        } NotifyData; 
    这里的值,怎么取啊
      

  5.   

    首先说,指向数组(在有效范围:不单是标号,而是这个数组在过程的全局性),而指向用NEW自释放型,就总是可以指向的,指针其实只是一个(整数)更多是指向别人的地址!你把指针指向了什么数据,在使用时,就得以其原来的数据格式还原而,然后才可以使用!NotifyData(P)^.adwData[2].cbBuf
      

  6.   

    pbuf:=pinfo.aData[i].NotifyData.Data.pBuf;
    ss:=string(pbuf);
    如果把ss的值传给一个edit 就可以显示出来,如机器名:ABC ,但是不直接showmessage(ss);就出问题,这是什么原因啊
      

  7.   

    pBuf:Pointer
    改成   pBuf:PChar