請教有關MemoryStream與unsigned char間的轉換問題 |
答題得分者是:aquarius
|
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
敝人對C的結構不是很熟,現在想將MemoryStream轉換成unsigned char以便做為呼中副程式時的引數內容,但是我試的時候會出現錯誤,請大家幫幫忙…
謝謝大家! 我的程式又臭又長,僅拿出相關的部分請大家幫忙看看… LPBYTE pp;
DWORD dwLength;
TMemoryStream *file= new TMemoryStream;
AnsiString filename;
int index;
LPBYTE pFrame; for (index=0;index<10;index )
{
filename.printf("d",index);
filename = "c:\\" filename ".jpg";
file->LoadFromFile(filename);
file->Position = 0;
CopyMemory(pFrame,file,jpgfileSize);
Function1(argument1,pFrame,file->Size);//此部分不方便寫出來,後面兩個引數為(,LPBYTE lpData,DWORD size)
} GlobalFree(pFrame);
delete jpg; 發表人 - danielj 於 2003/07/24 11:03:33
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 敝人對C的結構不是很熟,現在想將MemoryStream轉換成unsigned char以便做為呼中副程式時的引數內容,但是我試的時候會出現錯誤,請大家幫幫忙… 謝謝大家! 我的程式又臭又長,僅拿出相關的部分請大家幫忙看看…先配置足夠的記憶體空間給 pFrame, 或是用 (LPBYTE)file->Memory 轉型. 這樣應該就不會錯了!! ...AquariusLPBYTE pp; DWORD dwLength; TMemoryStream *file= new TMemoryStream; AnsiString filename; int index; LPBYTE pFrame; <<<<<<< 這是指標型態 for (index=0;index<10;index ) { filename.printf("d",index); filename = "c:\\" filename ".jpg"; file->LoadFromFile(filename); file->Position = 0; CopyMemory(pFrame,file,jpgfileSize); <<<<<<< 未配置空間, 就將值寫入, 這樣當然會錯呀!! Function1(argument1,pFrame,file->Size);//此部分不方便寫出來,後面兩個引數為(,LPBYTE lpData,DWORD size) } GlobalFree(pFrame); delete jpg;
------
水瓶男的blog: http://791909.blogspot.com |
danielj
初階會員 發表:65 回覆:135 積分:40 註冊:2003-06-11 發送簡訊給我 |
多謝aquarius大哥的回答,我依照您的建議將程式改成下面的樣子就可以正常運作了! LPBYTE pp;
DWORD dwLength;
TMemoryStream *file= new TMemoryStream;
AnsiString filename;
int index; for (index=0;index<10;index )
{
filename.printf("d",index);
filename = "c:\\" filename ".jpg";
file->LoadFromFile(filename);
file->Position = 0; Function1(argument1,(LPBYTE)flie->Memory,file->Size
} delete jpg;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |