Ошибка при изменении длины динамического массива
Модератор: Модераторы
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Alex. S, если правильно помню, то это WordBool, но проще посмотреть определение в исходниках.
Добавлено спустя 2 минуты 35 секунд:
Не, ошибаюсь, это Longbool
Добавлено спустя 2 минуты 35 секунд:
Не, ошибаюсь, это Longbool
Лекс Айрин, ясно.
Осталось только определить, что делать с типом String?
Осталось только определить, что делать с типом String?
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Alex. S, лучше всего, заменить на PChar -- это С совместимый стиль.
Добавлено спустя 1 минуту 4 секунды:
Внутри программы они легко транслируются друг в друга.
Добавлено спустя 1 минуту 4 секунды:
Внутри программы они легко транслируются друг в друга.
Лекс Айрин, я так понимаю, PChar = PAnsiChar.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
наоборот PAnsiChar =PChar
А PChar это ^Char
А PChar это ^Char
Лекс Айрин, я имел в виду, что они равны
Ведь,
Вот ещё, сейчас смотрю типы данных в Си, там написано, что тип bool занимает 1 байт. Ну чем тогда им, Boolean не устраивает? По-моему, это тот-же bool
А если нет, то как тогда его определить? :/
Код: Выделить всё
PAnsiChar:=PChar;Вот ещё, сейчас смотрю типы данных в Си, там написано, что тип bool занимает 1 байт. Ну чем тогда им, Boolean не устраивает? По-моему, это тот-же bool
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
Alex. S они НЕ равны.
Согласно правилам паскаля PAnsiChar = PChar, но PChar не равен PAnsiChar
Это заморочки наСИльников. Если я правильно помню, то у них нет логического типа как такового. Его им заменяет int, который тоже может быть разного размера.
А вообще, с логическами типами практически во всех языках лажа...фактически он должен занимать один бит, но этого добиться тяжеловато при минимально адресуемой переменной размером в байт.
Согласно правилам паскаля PAnsiChar = PChar, но PChar не равен PAnsiChar
Alex. S писал(а):Ну чем тогда им, Boolean не устраивает? По-моему, это тот-же boolА если нет, то как тогда его определить? :/
Это заморочки наСИльников. Если я правильно помню, то у них нет логического типа как такового. Его им заменяет int, который тоже может быть разного размера.
А вообще, с логическами типами практически во всех языках лажа...фактически он должен занимать один бит, но этого добиться тяжеловато при минимально адресуемой переменной размером в байт.
Лекс Айрин, оставлю тогда Boolean, если будут проблемы, буду решать по ходу уже...
Спасибо Всем, кто помогал в данной теме
Спасибо Всем, кто помогал в данной теме
-
Mirage
- энтузиаст
- Сообщения: 881
- Зарегистрирован: 06.05.2005 20:29:07
- Откуда: Russia
- Контактная информация:
Alex. S писал(а):1) В описании параметров нескольких процедур, я использую const, я так понимаю, его тоже лучше убрать... То есть, оставить передачу либо с var, либо без ничего...
var - передача по ссылке. В других языках будет указатель. Const по факту тоже, т.к. компилятор оптимизирует сущности размером более указателя и передает указатель на сущность вместо нее самой. Но тут возможны варианты. Так что наверное лучше var. Хотя в случае строк лучше const, т.к. тогда счетчик ссылок не меняется.
Alex. S писал(а):2) Как правильно передать имя файла в функцию dll? Раньше использовал String, а как сейчас, даже не знаю.
PChar
Mirage, ясно.
А как с bool? Так и использовать тип Boolean, или его тоже нужно чем-то заменить?
А как с bool? Так и использовать тип Boolean, или его тоже нужно чем-то заменить?
