ss[]//var ss:String;

Pointer(ss)^
是不是一个意思呢? 答:不是。
ss[]表示第一个字符。如:ss:='abc'
则表示'a'。ss[]=Length(ss);
Pointer(ss)^ 和 @s 也不一样。
就连 cc:PChar
Pointer(cc)^ 和 @cc 也不一样。 应用:
一、发送字符串 或者 Record procedure SendStr(ss:String);
var cds:TCopyDataStruct;hh:HWND;
begin
hh:=FindWindow('TfrmFYErpMsg',nil);
if hh<> then
begin
//cds.dwData:=Handle;可要可不要
cds.cbData:=Length(ss)+;//不能漏掉+
cds.lpData:=AllocMem(cds.cbData);//GetMem(cds.lpData,cds.cbData);可替代
StrCopy(cds.lpData,PChar(ss));
SendMessage(hh,WM_COPYDATA,hh,Cardinal(@cds));
FreeMem(cds.lpData);
end;
end; TRR=Record
a:String[];
b:PChar;//这里注意,不能使用PChar这种长度可变的。
d:Double;
end;
procedure SendRec(aa:TRR);
var cds:TCopyDataStruct;hh:HWND;
begin
hh:=FindWindow('TfrmFYErpMsg',nil);
if hh<> then
begin
cds.cbData:=sizeof(aa);
// cds.lpData:=AllocMem(cds.cbData);//GetMem(cds.lpData,cds.cbData);
cds.lpData:=@aa;
SendMessage(hh,WM_COPYDATA,hh,Cardinal(@cds));
// FreeMem(cds.lpData);不知道怎么要这个???
end;
end; 二、接收 procedure RecordWM(var ARec:TWMCopyData);message WM_COPYDATA; procedure TfrmFYErpMsg.RecordWM(var ARec: TWMCopyData);
var s:String;x:TRR;
begin
//字符串
s:=StrPas(ARec.CopyDataStruct^.lpData);
//Record
x:=TRR(ARec.CopyDataStruct.lpData^);
s:=x.a+#+x.b+#+FloatToStr(x.d);
end;

String的疑问的更多相关文章

  1. C++解析(19):函数对象、关于赋值和string的疑问

    0.目录 1.函数对象 2.重载赋值操作符 3.string类 4.小结 1.函数对象 编写一个函数: 函数可以获取斐波那契数列每项的值 每调用一次返回一个值 函数可根据需要重复使用 实现功能: #i ...

  2. 第36课 经典问题(下)----关于string的疑问

    实例1: 下面的代码输出什么,为什么? #include <iostream> #include <string> using namespace std; int main( ...

  3. C++中的赋值操作符重载和拷贝构造函数

    1,关于赋值的疑问: 1,什么时候需要重载赋值操作符? 2,编译器是否提供默认的赋值操作符? 2,关于赋值的疑问: 1,编译器为每个类默认重载了赋值操作符: 1,意味着同类型的类对象可以相互赋值: 2 ...

  4. [我的疑问]String? = "Skiy Chan" 中的问号是什么意思?

    var optionalName : String? = "Skiy Chan" String? = "Skiy Chan" 中的问号是什么意思?目前还在看ap ...

  5. 关于Java String对象创建的几点疑问

    我们通过JDK源码会知道String实质是字符数组,而且是不可被继承(final)和具有不可变性(immutable).可以如果想要了解String的创建我们需要先了解下JVM的内存结构. 1.JVM ...

  6. 修饰符(动态String数组篇)--- 常用 解除疑问。

    1.无修饰符----是直接传基本类型的地址过来,并没有把基本类型的指针复制一份入栈,所以一旦修改就是修改原来的值. 2.const 修饰符 与 无修饰符一致. 3.var修饰符 与 上一致. 4.ou ...

  7. Java中String的split()方法的一些疑问和试验

    http://tjuking.iteye.com/blog/1507855 和我想的还是不大一样,因为不知道源码也不知道具体是怎么实现的,我的理解如下: 当字符串只包含分隔符时,返回数组没有元素:当字 ...

  8. djang项目中的疑问及解决办法(ValueError: Invalid model reference 'apps.user.User'. String model references must be of the form 'app_label.ModelName'.)

    这个问题其实就是apps.user.User这种用法是不对的,就在下面的模型中,我本来是绑定apps.user.User,但是试了一下,由于order和user是在同一个apps中,所以直接用user ...

  9. 透过WinDBG的视角看String

    摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...

随机推荐

  1. 适配手机端之 rem

    (function() { var psdWidth = 1080, maxRem = 100, ch = document.documentElement.clientHeight || docum ...

  2. spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比 (附:遇到的坑)

    转载:https://www.cnblogs.com/yskcoder/p/4718198.html 这两天在用spring进行上传上遇到问题,今天进行了问题的排查,这个过程也增加了我看spring源 ...

  3. Unity跳转场景进度条制作教程(异步加载)

    Unity跳转场景进度条制作 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...

  4. VMware安装CentOS以及CentOS的一些配置

    转:http://blog.csdn.net/u013082989/article/details/51911330

  5. difference among String,StringBuilder,StringBuffer

    difference among String,StringBuilder,StringBuffer String常用构造函数 String(byte[] bytes) String(byte[] b ...

  6. C++学习(二十四)(C语言部分)之 结构体1

    1.结构体 存放多个不同类型的数据 但是是相关联的 数组 存放多个相同类型的数据 结构体是存放多个相关联的不同类型的数组 struct 定义一个结构体类型 自定义类型 2.结构体定义方式 定义类型最通 ...

  7. 下面有关 JAVA 异常类的描述,说法正确的有()

    都是Throwable的子类: 1.Exception(异常) :是程序本身可以处理的异常. 2.Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发生在虚拟机试图执行 ...

  8. day20kafka

    Storm上游数据源之Kakfa PS:什么是kafka,为什么要学习它? http://blog.csdn.net/zcf_0923/article/details/70859535http://b ...

  9. makefile——小试牛刀

    //a.h,包含头文件stdio.h,并且定义一个函数print #include<stdio.h> void print(); //b.c,包含头文件a.h,然后就可以写print函数的 ...

  10. Cassandra基础2

    ========================================================= gossip协议1.点对点(peer to perr)的网络通信协议,节点间地位相同 ...