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

Вниз

Как ассоциировать THandle файла в памяти с именем Name: String   Найти похожие ветки 

 
comwad ©   (2003-11-21 12:42) [0]

Как можно ассоциировать hmapobj:THandle;
созданный в результате
hmapobj:=CreateFileMapping($FFFFFFFF,nil,PAGE_READWRITE,0,sizeof(dword),pchar("temp.bmp"));
с именем файла "в текстовом виде", для того чтобы сделать
Memo1.Lines.SaveToFile("temp.bmp");
(То есть SaveToFile со стринговым параметром именно в память, а не на диск)
Если просто совпадают имена "temp.bmp", то текст из Memo1 сохраняется в текущий дирректорий.
Спасибо.


 
MBo ©   (2003-11-21 13:00) [1]

сохраняй в MemoryStream, Memory которого указывает на View твоего файла


 
comwad ©   (2003-11-21 14:33) [2]

Так делал.

Я работаю с видеозахватом с функцией
capFileSaveDIB

TempStream := TMemoryStream.Create;
capFileSaveDIB(cap_WndHandle,lparam(TempStream));
BitMap.LoadFromStream(TempStream);// LoadFromFile("tt.tmp");
TempStream.Free;

В BitMap не грузятся данные из TempStream.
Не ругается никто и ничто и не грузятся.


 
MBo ©   (2003-11-21 14:39) [3]

TempStream.Position:=0;


 
comwad ©   (2003-11-21 15:43) [4]

Это в каком месте?
И что это может изменить, можно более подробнее?
Спасибо.


 
MBo ©   (2003-11-21 15:48) [5]

Перед LoadFromStream


 
-   (2003-11-21 20:30) [6]

TMMFStream в кладовке


 
comwad ©   (2003-11-22 09:08) [7]

Не работает!
Помогите советом.
Ситуация:

capFileSaveDIB(cap_WndHandle,lparam(Pchar("TMP.BMP")));
Bmp1.LoadFromFile("TMP.BMP");

- так с канвы битмапа можно считать цвет пикселя (что и надо в результате),
то есть передача изображения от cap_WndHandle в BMP1
через файл происходит отлично:


Но через память (чтобы не юзать диск) не хочет:
BMP1 - остается пустой!!!????
Не работающий код:

TempStream := TMemoryStream.Create;
try
capFileSaveDIB(AviCap1.cap_WndHandle,lparam(TempStream));
TempStream. Position := 0;
Bmp1.LoadFromStream(TempStream);
finally
TempStream.Free
end;


 
Бином Ньютоныч   (2003-11-22 17:10) [8]

Слушай, расскажи как нужно начать думать, чтобы функции которая ждет имя файла в виде строки передать указатель на объект, даеще и чиста дельфийский. Не правда интересно


 
comwad ©   (2003-11-24 09:42) [9]

To Бином Ньютоныч:

lparam(Pchar("TMP.BMP"))) - это не строка, а INTEGER;


 
MBo ©   (2003-11-24 10:19) [10]

>comwad
Ты привел два разных capFileSaveDIB - с передачей имени или объекта-потока. Чему верить?


 
Бином Ньютоныч   (2003-11-24 17:02) [11]

>comwad © (24.11.03 09:42) [9]
Я канэчна дика извиняюсь, но Вы в каком полкЕ служили?
MSDN нам завещал:


The capFileSaveDIB macro copies the current frame to a DIB file. You can use this macro or explicitly call the WM_CAP_FILE_SAVEDIB message.

BOOL capFileSaveDIB(
hwnd,
szName
);
Parameters
hwnd
Handle to a capture window.
szName
Pointer to the null-terminated string that contains the name of the destination DIB file.
Return Values
Returns TRUE if successful or FALSE otherwise.

If an error occurs and an error callback function is set using the capSetCallbackOnError macro, the error callback function is called.


А VfW.H, собака, смеет утверждать, что:

#define capFileSaveDIB(hwnd, szName) ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SAVEDIB, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))


Ну и кто тут кому интеджер? И с какого перепугу этим интеджером может оказаться указатель на дельфовый объект?! Ась?



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
6-2257
2ac
2003-11-26 07:31
2004.02.02
Какое событие в TWebBrowser срабатывает при обнаружении ошибки ск


3-1989
BorisUK
2004-01-08 14:29
2004.02.02
проблемы с DCOM сервером


1-2130
PutRsa
2004-01-19 17:06
2004.02.02
чтение двоичных данных из файла и работа с ними


1-2166
dvp777
2004-01-22 11:53
2004.02.02
Как в Vis Basiс перевести now в число (секунды или милисекунды)


1-2194
Riddler
2004-01-14 01:30
2004.02.02
Подсветка HTML