Главная страница
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.027 c
6-2258
2ac
2003-11-26 07:30
2004.02.02
Как запретить TwebBrowser проигрывать звуки (на некоторых сайтах


3-1994
uu
2004-01-08 12:58
2004.02.02
Paradox и сеть


1-2125
Ascan
2004-01-19 14:06
2004.02.02
Кто такой NMFast40 ?


1-2176
alexnmsk
2004-01-21 13:40
2004.02.02
Значения полей по умолчанию


4-2435
Aleksandr
2003-11-04 11:33
2004.02.02
Объясните мне, как работать с WaitForMultipleObjects?