Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.11.2017, 00:03
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 282
Версия Delphi: delphi xe4
Репутация: выкл
По умолчанию Operator not applicable to this operand type [string]

Код:
type
TLogin = record
....
Driver: string;
...
end;
и в простой операции присваивания
Код:
function Super: TLogin;
...
Result.Driver:='SuperPuper';
...
Вижу E2015 Operator not applicable to this operand type
Я там понимаю деление, но присваивания? Где не прав?
Ответить с цитированием
  #2  
Старый 11.11.2017, 00:33
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 282
Версия Delphi: delphi xe4
Репутация: выкл
По умолчанию

Проблема была в двойном присваивании из-за невыхода из цикла хотя я до сих пор не понял ошибку, по идее должно было просто перезаписать значение. Может кто-то пояснить, как присваивание строки может вызвать эту ошибку?

Последний раз редактировалось nixon232, 11.11.2017 в 00:35.
Ответить с цитированием
  #3  
Старый 11.11.2017, 02:45
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Во-первых кодах автора не увидел я траблы, во-вторых я × че понял.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 11.11.2017, 10:13
nixon232 nixon232 вне форума
Активный
 
Регистрация: 26.01.2014
Сообщения: 282
Версия Delphi: delphi xe4
Репутация: выкл
По умолчанию

В момент присваивание строки Result.Driver Компилятор ругался "Operator not applicable to this operand type" Но вы правы без кода тут ничего особо не скажешь. Просто ругается именно в компиляторе, а не рантайме, на простое := , что я и не понял.
Ответить с цитированием
  #5  
Старый 11.11.2017, 22:33
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Нет, не ругается. Но я с планшета на Intel.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 12.11.2017, 11:21
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Восклицание 100% рабочий код

Код:
type
  TLogin = record
    Driver: String;
  end;

function Super: TLogin;
begin
  Result.Driver:='Ok';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowMessage(Super.Driver);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 12.11.2017, 13:43
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от NumLock
...100% рабочий код...
В D7 - аналогично, E2015 вылазит, если только "присваивание" через жопу делать, в смысле Result.Driver:= + 'Ok' вместо Result.Driver:= 'бла-бла..' + 'Ok', как в бейсике, но правда, так компилятор сборку выполнить вообще не даёт, есть предположение, наверное с юникодом это связано, ведь тип string в ХЕке по умолчалке не такой, как в моей RIP-овнице - семёрке, попробуйте к "ретро MS"-типу привести (Driver: PChar; -) или аналогу
Ответить с цитированием
  #8  
Старый 12.11.2017, 13:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

В Delphi 10.1 Berlin тоже все отлично. Завтра могу на Delphi XE5 проверить.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #9  
Старый 12.11.2017, 14:38
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп:
Цитата:
Сообщение от NumLock
В Delphi 10.1 Berlin тоже все отлично...
Блин, мысля после приёма определённой дозы арманьяку возникла:
мож у ТС настройки от умолчальных отличаются,
ну мало-ли либвителей стандарты портить,
отсюда и траблы, а? Могёть такое быть?)
Ответить с цитированием
  #10  
Старый 13.11.2017, 08:09
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

На XE5 все отлично.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #11  
Старый 13.11.2017, 23:30
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
По умолчанию

В XE7 все нормально.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter