Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 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
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

возможно я ошибаюсь НО

@ - вернет адресс на переменную
а так как Memory: имеет типа PByteArray, возможно именно из-за єтого компилятор и непонимает

может проблему решит

и какой тип емеет рb ?

Memory:= PByteArray(рb^[bmFile^.bfOffBits]);
BOBAH13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод некоторых параметров из *.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