CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

类型转换提示有内存错误,请教,马上给分

楼主lizhu(丽珠)2003-12-02 11:59:55 在 Delphi / VCL组件开发及应用 提问

var   i:pchar;  
          s:cardinal   ;  
          str:string   ;  
  begin  
          s:=100;  
          if   getcomputername(i,s)   then  
                  str   :=   StrPas(i); 问题点数:100、回复次数:8Top

1 楼Little2000(rainy)回复于 2003-12-02 12:09:10 得分 1

var   i:pchar;  
          s:cardinal   ;  
          str:string   ;  
  begin  
          s:=100;  
          if   getcomputername(i,s)   then  
                  str   :=   i;Top

2 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2003-12-02 12:09:54 得分 10

不是吧??發了三個貼??  
   
  begin  
    SetLength(str,   1000);  
    GetComputername(s,   1000);  
    str   :=   pchar(str);  
  Top

3 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2003-12-02 12:11:51 得分 6

在msdn:  
  BOOL   GetComputerName(  
      LPTSTR   lpBuffer,     //   computer   name  
      LPDWORD   lpnSize       //   size   of   name   buffer  
  );  
   
  第一個參數是放緩衝區的,   第二個是放接收緩衝區大小的,   你參數都錯了,   然後,   指針i又沒分配內存!!!  
       
  Top

4 楼angle097113(深思不解)回复于 2003-12-02 12:13:50 得分 10

应该是你的参数类型的错误吧!Top

5 楼hacking(hacking)回复于 2003-12-02 12:14:00 得分 35

procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      Size:   DWORD;  
      LocalMachine:   array   [0..MAX_COMPUTERNAME_LENGTH]   of   char;  
      Str:String;  
  begin  
   
          Size   :=   Sizeof(LocalMachine);  
          if   GetComputerName(LocalMachine,   Size)       then  
              Str:=strpas(LocalMachine);  
              showmessage(str);  
   
  end;Top

6 楼liunini(妮妮)回复于 2003-12-02 12:16:04 得分 35

procedure   TForm1.Button1Click(Sender:   TObject);  
  var   i:pchar;  
          s:Dword   ;  
          str:string   ;  
  begin  
          s:=100;  
          getmem(i,101);  
          if   getcomputername(i,s)   then  
                  str   :=   StrPas(i);  
          form1.caption:=str;  
  end;  
  你竟然发了许多:oTop

7 楼47522341(睡到8:30)回复于 2003-12-02 12:19:09 得分 3

var   str:   string;  
  begin    
  SetLength(str,   1000);  
    GetComputername(s,   1000);  
    str   :=   pchar(str);  
   
  end;  
  Top

8 楼lizhu(丽珠)回复于 2003-12-02 13:11:36 得分 0

各位对不起,我多发了几次,完全是因为发了之后,屏幕刷新了也看不到我的问题所致,  
  请多包含!Top

相关问题

  • 退出IE时系统提示读内存某地址错误
  • 错误提示,指定的转换无效
  • 求救:让我无法下手的错误:退出程序时提示内存访问错误
  • 怎么解决错误提示“无效的变量类型转换”?
  • 提示“从字符型转换为datetime时发生语法错误”
  • 错误提示!
  • 错误提示
  • 关于进制转换的算法,用VC调试,出现内存为只读的错误
  • 程序一启动就提示“错误7,内存溢出”,比较急,请帮忙看看
  • 一个ACCESS数据库用Cmd.ExecuteScalar()返回COUNT的记录条件中有like,错误提示"内存溢出"??

关键词

  • getcomputername
  • localmachine
  • strpas
  • pchar
  • str
  • begin
  • then
  • size
  • var

得分解答快速导航

  • 帖主:lizhu
  • Little2000
  • aiirii
  • aiirii
  • angle097113
  • hacking
  • liunini
  • 47522341

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo