Показать сообщение отдельно
Старый 17.05.2010, 13:15   #12
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Лампочка Ответ: Написание DLL в Delphi для Blitz3D

Проблема передачи данных (а так же текста) из Blitz3D в Delphi 7 и обратно.

Файл Delphi.bb
Graphics3D 800,600,32,2
MyText$=TextAdd("OTnpaBka")

Repeat
	Text 10,10,MyText$
	Flip
Until KeyHit(1)
Код файла DelphiText.dll
library DelphiText;

uses
  SysUtils, Classes;

{$R *.res}

function TextAdd(Text:String):PChar;
var OutText:String;
begin
  OutText:=Text+'. Принято!';
  Result:=PChar(OutText);
end;

exports TextAdd;

begin
end.
Файл DelphiText.decls
.lib "DelphiText.dll"
TextAdd$(Text$) : "TextAdd"
При изменении на function TextAdd(TextChar)Char; в Blitz3D отображается такое:


При завершении программы, когда с Blitz3d отправляешь данные на обработку в скобках:
Graphics3D 800,600,32,2
MyText$=TextAdd("OTnpaBka")
выходит ошибка:


Основная проблема - Delphi не возвращает принятое, а Blitz3D при отправке данных, после завершении программы, пишет об ошибке.

А так же при пробе отправить integer 23423450 после обработке IntToStr()+'текст' - Blitz3D вообще как-то отобразил примерно "101021012 текст"
(Offline)
 
Ответить с цитированием