Главная страница
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.022 c
14-2301
Layner
2004-01-12 13:05
2004.02.02
Приветствую всех! Поделитесь, у кого есть форма договора на


4-2407
Lin7
2003-11-23 20:08
2004.02.02
Выравнивание иконок на рабочем столе под XP


1-2127
int64
2004-01-19 16:45
2004.02.02
ADO.NET


3-2023
stud
2004-01-06 15:11
2004.02.02
сортировка dbchart


7-2400
Pirate
2003-11-15 18:38
2004.02.02
Надо програмным путём сделать Shut Down компа. КАК?