BCB和Delphi的混和编程问题!

xunilwxy 2003-10-21 08:44:45
我用BCB建立一个工程,把一个delphi创建的单元文件添加到其中,可编译不过去。请高手指教!
...全文
1770 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cocoky 2003-10-21
  • 打赏
  • 举报
回复
这是什么东东
看不懂
不过BCB中调用DELPHI程序是没问题的,BCB中INCLUDE里大部分都是DELPHI的东西
土著巫师 2003-10-21
  • 打赏
  • 举报
回复
1、DELPHI创建的单元在BCB里是绝对没有问题的。
2、如果说你用不了,一就是你的DELPHI建立的.pas单元本身就有问题。
3、也有可能是你建立的DELPH单元和现在的BCB里的VCL/CLX有重复什么的,因为到目前为止BCB和DELPHI是用的同一个编译器底层。
4、给你一个我的BCB里使用的DELPHI单元的源代码,希望对你能有帮助,这个源代码是用来取代TFileStream类的。

(*_*

ʱ¼ä£º2003Äê10ÔÂ19ÈÕ ÐÇÆÚÌì
µØµã: ÖйúÉϺ£ÆÖ¶«ÐÂÇø
×÷Õß: ·ÊÌÒ freetao@ynmail.com
°æ±¾: 1.0.0

*_*)(*_*

°æȨÉùÃ÷£º°æȨËùÓÐ (C) 2003 ·ÊÌÒ
ÔðÈÎÉùÃ÷£ºÊÇ·ñʹÓñ¾²úÆ·ÍêÈ«ÓÉÄú×Ô¼º¾ö¶¨£¬×÷Õß²»³Ðµ£Ê¹Óùý³ÌÖвúÉúµÄÈκÎÖ±½ÓµÄ
»ò¼ä½ÓµÄ·¨ÂÉÔðÈΡ£
¼¼ÊõÖ§³Ö£ºÈç¹ûÄúÓÐÈκμ¼ÊõÎÊÌ⣬Çë·¢µç×ÓÓʼþµ½£ºfreetao@ynmail.com£¬»òͨ¹ýOICQ
ÁªÏµ×÷Õߣ¬QICQ£º138690£¬µ«×÷Õß²»±£Ö¤ÄúÌá³öµÄÎÊÌâÒ»¶¨¿ÉÒԵõ½»Ø¸´»ò½â
¾ö¡£
¿ª·¢ÀúÊ·£º2003Äê10ÔÂ19ÈÕ£¬½¨Á¢±¾²úÆ·µÄµÚÒ»¸ö²âÊ԰棬¶¨Ò岢ʵÏÖÁËTQuickFileStreamÀà,
Ö÷ÒªÊÇʵÏÖTFileStreamÀàËùûÓеÄһЩ¹¦ÄÜ£¬ÀýÈçµÚÒ»´Î½¨Á¢Îļþ¾ÍÔÊÐí¹²Ïí£¬ÒÔ
¼°Í¨¹ýÔö¼ÓÊʵ±µÄ²ÎÊýÀ´¼Ó¿ìÎļþ¶Á¡¢Ð´µÄËٶȡ£
¿ª·¢Ö¸ÄÏ£ºTQuickFileStream(AHandle: Integer); //Îļþ¾ä±úÔÚÀàµÄÎö¹¹ÀïÖ´Ðйرգ¬Ö§³ÖLINUXƽ̨¡£
TQuickFileStream("Test.dat", //ÎļþÃû
GENERIC_READ | GENERIC_WRITE, //·ÃÎÊģʽΪ¶Á¡¢Ð´
FILE_SHARE_READ, //ÔÊÐíÎļþÔÙÒÔ¶Á·½Ê½´ò¿ª
FILE_ATTRIBUTE_ARCHIVE | FILE_FLAG_WRITE_THROUGH | FILE_FLAG_RANDOM_ACCESS);
TQuickFileStream("Test.dat", //ÎļþÃû
GENERIC_READ, //·ÃÎÊģʽΪֻ¶Á·½Ê½
FILE_SHARE_READ | FILE_SHARE_WRITE, //ÔÊÐíÎļþÔÙÒÔ¶Á¡¢Ð´·½Ê½´ò¿ª
FILE_ATTRIBUTE_ARCHIVE | FILE_FLAG_RANDOM_ACCESS);


*_*)
unit FT_Files;

interface

uses Windows, Classes, SysUtils;

type
TQuickFileStream = class(THandleStream)
public
constructor Create(AHandle: Integer); overload;
constructor Create(const FileName: string; DesiredAccess, ShareMode, FlagsAndAttributes: Cardinal); overload;
destructor Destroy; override;
end;

implementation

constructor TQuickFileStream.Create(AHandle: Integer);
begin
inherited Create(AHandle);
if FHandle < 0 then
raise Exception.Create('Error Happened In TQuickFileStream Constructor!');
end;

constructor TQuickFileStream.Create(const FileName: string; DesiredAccess, ShareMode, FlagsAndAttributes: Cardinal);
begin
Create(Integer(CreateFile(PChar(FileName), DesiredAccess, ShareMode, nil, OPEN_ALWAYS, FlagsAndAttributes, 0)));
end;

destructor TQuickFileStream.Destroy;
begin
if FHandle >= 0 then FileClose(FHandle);
inherited Destroy;
end;

end.

不知道为什么版权声明和其他编程指南的说明复制、粘贴过来后全变成乱码了。MS平台就是烂。

祝你好运。
MEFULEU 2003-10-21
  • 打赏
  • 举报
回复
不要使用代码可以的。

有复杂的函数调用过程那就有问题,
土著巫师 2003-10-21
  • 打赏
  • 举报
回复
1、(*_* 这之间所有的内容为注释部分*_*),相当于C/C++的/*_* *_*/
2、unit FT_Files; //程序开始
3、end. //单元结束

再瞧不懂我就没办法了。:(

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧