IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Указатели в ТМТ Пас
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Вопрос по TMT паскалю:
Есть проблема:

Type TArray = Array[0..0] Of Byte;
PArray = ^TArray;

GetMem(P,10000);

Надо привести безтиповой указатель P к виду PArray:
Исправлено: PArray(P^)[Num] <-- это опечатка, не в том проблема...
PArray(P)^[Num]:=N;

FreeMem(P,10000);

При попытке так сделать, прога вылетает к чертовой матери....

Вопрос: что не так ? В Пасе 7 все работает... Какая разница между указателями ? И если есть, то как привести указатель к нужному типу ?

Сообщение отредактировано: AlienEmperor -


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


Значит так! По ходу дела имеется следующая ситуация:

в Паскале 7.0 надо писать так:

Код
Procedure GetImageFromFile (Var Storage:Pointer; FileName:String);
Begin
ReadBMPToArray(PArray(Storage^),FileName);
End;


Если написать так:

Код
Procedure GetImageFromFile (Var Storage:Pointer; FileName:String);
Begin
ReadBMPToArray(PArray(Storage),FileName);
End;

то все - краш и вылет...

В ТМТ Паскале все с точностью до наоборот...

Теги не забываем...

Сообщение отредактировано: volvo -


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.05.2024 11:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name