Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Incompatible types


stenfit ©   (2011-04-21 15:57:00) 

не компилируется строка в модуле (Incompatible types), хотя в других модулях аналогичные конструкции компилируются нормально.

SetString(A, @PAnsiChar(Item)[iText1Offset], iText1Length);

Item: PLinkerItem;
A: AnsiString;
iText1Offset: SmallInt;
iText1Length: SmallInt;


han_malign   (2011-04-22 16:28:00) [1]


> Есть такая настройкакомпилятора "Typed @ operator".

- ключевое слово настройка- все что не обязательно - потенциальные грабли...
Хотя есть:
Syntax   {$T+} or {$T-}
         {$TYPEDADDRESS ON} or {$TYPEDADDRESS OFF}
Default  {$T-}
         {$TYPEDADDRESS OFF}


Sapersky   (2011-04-22 13:16:00) [2]

Есть такая настройка компилятора "Typed @ operator". Я, правда, не пробовал, но по идее должна включать типизацию.


han_malign   (2011-04-22 10:35:00) [3]

лучше так:
SetString(A, PAnsiChar(Item)+iText1Offset, iText1Length);/CODE>
- для PChar в Delphi - сделано исключение, даже такие конструкции проходят:
(PAnsiChar(Item)+iText1Offset )^

З.Ы. Оператор @ - возвращает нетипизированный указатель(тип Pointer), который молчаприводится к любому типизированному указательному типу(D7) - а это потенциальные грабли...


stenfit   (2011-04-21 16:14:00) [4]


> там где компилируется, там в зоне видимости всего одна SetString.
> а там где нет, там две.


действительно есть еще один SetString, спасибо.


Медвежонок ХМЛ   (2011-04-21 16:08:00) [5]

там где компилируется, там в зоне видимости всего одна SetString.
а там где нет, там две.


stenfit   (2011-04-21 16:03:00) [6]


> brother ©   (21.04.11 15:58) [1]
> версия делфи?


delphi 7

в XE все нормально компилируется.


brother   (2011-04-21 15:59:00) [7]

SetString не переназначен?


Медвежонок ХМЛ   (2011-04-21 15:59:00) [8]

хотя в других модулях аналогичные конструкции компилируются нормально.

в других модулях юзез другой, вот и компилируется.


brother   (2011-04-21 15:58:00) [9]

версия делфи?


Наверх

Титульная страница Поиск, карта сайта Написать письмо