Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

передача с одной форму в другую TMemoryStream   Найти похожие ветки 

 
gentos   (2007-08-09 14:13) [0]

есть следующее есть две формы мне надо с одной формы передать фотку в другую через TMemoryStream. При нажатии на кнопку одной формы пишу следующее

procedure TScanDocForm.BtnShowClick(Sender: TObject);
var
  MStream: TMemoryStream;
  Bit : TBitmap;
begin
    frm := TfrmImage.Create(Self);
    MStream:=TMemoryStream.Create;
    Bit := TBitmap.Create;
    ScanImage.Picture.Bitmap.SaveToStream(MStream);
    MStream.Position:=0;
    frmImage.gotopapa(MStream);
    MStream.Position:=0;
    Bit.LoadFromStream(MStream);
    img.Picture.Assign(Bit);
    MStream.Free;
    Bit.Free;
end;


где gotopapa это процедура другой формы, которая должна принимать этот самый поток TMemoryStream, и после приобразований выводиться на экран


procedure TfrmImage.gotopapa(Mstream: TMemoryStream);
var
  Bit : TBitmap;
begin
  Bit := TBitmap.Create;
  MStream.Position:=0;
  Bit.LoadFromStream(MStream);
  image.Picture.Assign(Bit);
end;


не пашет, вообщем ничего , не знаю что делать ...


 
Сергей М. ©   (2007-08-09 14:16) [1]


> не знаю что делать


Отладчик в зубы - и вперед, с песней)


 
gentos   (2007-08-09 14:17) [2]

Если бы я умел им пользоваться :), тут точнее не улыбаться надо...


 
Johnmen ©   (2007-08-09 14:20) [3]


> тут точнее не улыбаться надо...

а за учебники садиться?


 
Сергей М. ©   (2007-08-09 14:22) [4]


> Если бы я умел им пользоваться


Что ж мешает научиться ?
Неужели печальный опыт танцора ?)


 
gentos   (2007-08-09 14:25) [5]


> Johnmen ©   (09.08.07 14:20) [3]

уже сидел и не люблю я этого, много прог написал и без учебника, меня интересует правильно ли я организовал передачу TMemoryStreamа с одной формы в другую, тоесть , не теряется ли где-то этот поток при передаче, не понятно как-то..., фраз типа бла бла бла не пишите , лучше конкретно по теме, а учить не надо, не для этого написал, не учтите за грубость


 
gentos   (2007-08-09 14:26) [6]


> Сергей М. ©   (09.08.07 14:22) [4]


ага, ицца большие, голова маленькая...


 
Johnmen ©   (2007-08-09 14:27) [7]


> меня интересует правильно ли я организовал передачу TMemoryStreamа
> с одной формы в другую

Неправильно. Читать хелп о передаче параметров.


 
gentos   (2007-08-09 14:31) [8]


> Johnmen ©   (09.08.07 14:27) [7]


непонятно где F1 нажимать-то надо пробовал

var
 MStream: TMemoryStream

в глобал пихать , все равно не доходит читай, читай , я уже 2 часа и так и сяк :) и нифига , выходные где же вы...


 
gentos   (2007-08-09 14:34) [9]


> Johnmen ©   (09.08.07 14:27) [7]


а можете сказать иль написать где ошибка, и сказать как ее исправить ? , буду очень вам благодарен, потому-что хочу двигаться дальше , а этот TMemoryStream не пускает :), очень надо мне еще креэйт теблы и тригерры писать, я больше с базами люблю, а тут ...


 
Сергей М. ©   (2007-08-09 14:43) [10]


> можете сказать иль написать где ошибка, и сказать как ее
> исправить


Весь твой код - одна сплошная большая ошибка.
Выкинь его нафих и попытаяся переформулировать задачу и переосмыслить ее решение.

Я серьезно.

    frm := TfrmImage.Create(Self); //вот ты создал некий объект-форму, и где ты к нему обращаешься впоследствии ?
..
   frmImage.gotopapa(MStream); //э ЭТО что за абракадабра ?


> мне еще креэйт теблы и тригерры писать, я больше с базами
> люблю


Мы в курсе) ..Чукча, известно, не читатель)

А базы-то с тобой "любят" ?)


 
gentos   (2007-08-09 14:57) [11]


> Сергей М. ©   (09.08.07 14:43) [10]


frmImage.gotopapa(MStream); //э ЭТО что за абракадабра ?

вот за это - большое , большое спасибо, пишешь на автомате фигню всякую, а потом ищешь ошибку тристалетнах :)


 
Сергей М. ©   (2007-08-09 15:00) [12]


> пишешь на автомате


Легенда о чукче-писателе в очер.раз находит подтверждение)

А "гоутупапа" - это сильно)

Ждем очередных шедевров а-ля "гоутумама", "гоутувнучка", "гоутужучка")


 
gentos   (2007-08-09 15:05) [13]


> Сергей М. ©   (09.08.07 15:00) [12]


та это я написал так просто, чтобы хоть чем-то себя развеселить, когда веселиться не с чего )


 
Сергей М. ©   (2007-08-09 15:13) [14]


> когда веселиться не с чего


Судя по твоим знаниям и неэквивалентным им амбициям, веселиться действительно пока нет никакого повода)


 
MBo ©   (2007-08-09 15:50) [15]

вот все работает, рисуется. а напутал ты с созданием новой формы и передачей потока неизвестно, кому, похоже.


procedure TForm1.Button8Click(Sender: TObject);
var
 MStream: TMemoryStream;
 Bit : TBitmap;
begin
 MStream:=TMemoryStream.Create;
 Bit := TBitmap.Create;
 Bit.LoadFromFile("e:\aaa.bmp");
 Bit.SaveToStream(MStream);
 Form2.Show;
 Form2.DrawMStream(MStream);
 MStream.Free;
 Bit.Free;
end;

//--------------------------------------------------
procedure TForm2.DrawMStream(ms: TStream);
begin
 ms.Position := 0;
 Image1.Picture.Bitmap.LoadFromStream(ms);
end;



 
antonn ©   (2007-08-09 15:54) [16]

и еще try..finally не забываем%)


 
Сергей М. ©   (2007-08-09 15:57) [17]


> MBo ©   (09.08.07 15:50) [15]


> DrawMStream


Это не весело)

ГоуТуПапа гораздо веселее)



Страницы: 1 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
2-1186662007
Gamer
2007-08-09 16:20
2007.09.02
работа с Firebird из Delphi 2006


1-1182415440
DevilDevil
2007-06-21 12:44
2007.09.02
Excel. Не ошибка при обращении Sheet.Range


2-1186592484
Knob
2007-08-08 21:01
2007.09.02
Самый тупой вопрос


1-1182934736
rolex2002
2007-06-27 12:58
2007.09.02
Unicode. Функция copy для widestring.


2-1186557316
dest81
2007-08-08 11:15
2007.09.02
ehlib