Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2010, 10:34   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию возвращение функции значения TStringSream

Здравствуйте.
Как это можно осуществить.
Функция возвращает из длл вот так
Код:
function TakeTextZap(Acontext:TIdContext;Console:TMemo):TStringStream;
var buf:string;
s:TStringStream;
begin
   s:=TStringStream.Create;
   SendTextClient(AContext,'Zp_Text_ok');
   Acontext.Connection.IOHandler.ReadStream(s);
   s.Position:=0;
   SendTextClient(AContext,'Text_ok_Whot_foto');
   TakeTextZap.Write(s,s.Size);
   s.Free;
end;
как это возвращаемое значение назначить переменной типа TStringStream
Lokos вне форума Ответить с цитированием
Старый 24.11.2010, 10:39   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Я не вижу что бы что то возвращалось
Может все таки так?
Код:
function TakeTextZap(Acontext:TIdContext;Console:TMemo):TStringStream;
var buf:string;
s:TStringStream;
begin
   s:=TStringStream.Create;
   SendTextClient(AContext,'Zp_Text_ok');
   Acontext.Connection.IOHandler.ReadStream(s);
   s.Position:=0;
   SendTextClient(AContext,'Text_ok_Whot_foto');
   TakeTextZap.Write(s,s.Size);
   Result.Assign(s);
   // или
   // Result := s; // Но это вроде как не правильно.
   s.Free;
end;
Использовать.
Код:
var
  s: TStringStream;
begin
  s := TakeTextZap(<что-то>; Memo1);
end;
psycho-coder вне форума Ответить с цитированием
Старый 24.11.2010, 10:46   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Код:
Result.assign(s);//нет такого:(
Result:=s;//нечего не передает
Возвращал значения всегда таким образом имя функции := значение
Lokos вне форума Ответить с цитированием
Старый 24.11.2010, 10:52   #4
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Неуглядел(

Цитата:
как это возвращаемое значение назначить переменной типа TStringStream
Тогда в чем проблема? Присвоить переменной результат выполнения функции. Или сделать Assign.
Или я опять что-то не понял?
psycho-coder вне форума Ответить с цитированием
Старый 24.11.2010, 11:41   #5
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
Неуглядел(


Тогда в чем проблема? Присвоить переменной результат выполнения функции. Или сделать Assign.
Или я опять что-то не понял?
вот и нужно переменной вернуть результат выплнения ффункции только хз как(((
Lokos вне форума Ответить с цитированием
Старый 24.11.2010, 12:36   #6
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от psycho-coder Посмотреть сообщение
Использовать.
Код:
var
  s: TStringStream;
begin
  s := TakeTextZap(<что-то>; Memo1);
end;
Я же написал выше
psycho-coder вне форума Ответить с цитированием
Старый 24.11.2010, 12:42   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

или просто:
Код:
Result:=TStringStream.Create;
и далее работать с Result вместо s и не надо Free

В вызывающей программе:

Код:
var  x: TStringStream;
...
x:=TakeTextZap(...);
...
X.Free;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.11.2010 в 16:41.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возвращение двухмерного массива из функции Exeil Общие вопросы C/C++ 11 24.10.2010 12:41
Возвращение объекта из функции класса atenon Общие вопросы C/C++ 9 19.05.2010 03:24
Вычислите значения функции ффффф Помощь студентам 3 03.05.2010 13:33
Про возвращение значения... 2face2 Помощь студентам 15 25.01.2010 14:42
Про возвращение значения ... 2face2 Помощь студентам 0 24.01.2010 22:19