|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.02.2007, 13:55 | #1 |
Новичок
Джуниор
Регистрация: 20.02.2007
Сообщений: 1
|
Вывод графики с использованием отображаемых файлов
Здравствуйте!!!
Очень надеюсь на вашу помощь! По адресу http://design.gossoudarev.com/graphi...r/Index17.html я нашла часть программного кода для вывода графики с помощью отображаемых файлов. Пытаюсь теперь в нем разобраться. Но, видимо, зашла в тупик. Никак не могу понять, что означает строка и что в ней необходимо исправить, чтобы она стала корректна. На данном этапе Delphi выдает ошибку "Array type required", указывая на эту строку. Пожалуйста, помогите разобраться (кто чем может.. ). Var Memory: pByteArray; ес : Integer; procedure TForml.OpenlClick(Sender: TObject); var i: integer; bmFile : pBitmapFileHeader; bmlnfo : pBitmapInfoHeader; begin if not OpenDialogl.execute then Exit; hf := CreateFile(pChar(OpenDialogl.FileNa me), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0) ; if hf=INVALID_HANDLE_VALUE then begin ec:=GetLastError; ShowMessage(' File opening error Ч-IntTostr (ec) ) ; Exit; end; hm := CreateFileMapping(hf,' nil, PAGE_READONLY, 0,0,nil); if hm=0 then begin ShowMessage(' File Mapping error %d',[GetLastError]); Expend; pb := MapViewOfFile(hm, FILE_MAP_READ, 0,0,0); if pb=nil then begin ec:=GetLastError; ShowMessage('Mapping error '+IntTostr(ec)); Exit; end; bmFile := pBitmapFileHeader(pb); if (bmFile".bfTypeO$4D42) then BEGIN Exit; end; Memory:=@(рb^[bmFile^.bfOffBits]); // здесь указывает ошибку bmlnfo := @(рb^[SizeOf(TBitmapFileHeader)]); StrLen:=(((bmInfo~.biWidth*bmInfoA. biBitCount) +31) div 32}*4; PaintMe(Self); end; |
20.02.2007, 20:37 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
возможно я ошибаюсь НО
@ - вернет адресс на переменную а так как Memory: имеет типа PByteArray, возможно именно из-за єтого компилятор и непонимает может проблему решит и какой тип емеет рb ? Memory:= PByteArray(рb^[bmFile^.bfOffBits]); |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод некоторых параметров из *.ini (или *.txt) файлов в поля Label | grey | Помощь студентам | 11 | 14.02.2009 10:58 |
Графики в БД | ~LiS~ | БД в Delphi | 1 | 05.06.2008 22:19 |
графики | ZhekON | Помощь студентам | 6 | 10.04.2008 18:14 |
таймер и вывод графики | Volkogriz | Мультимедиа в Delphi | 4 | 08.12.2007 12:11 |
Вывод графики в DBGrid | Saro | БД в Delphi | 0 | 20.04.2007 11:39 |