|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.12.2011, 11:32 | #1 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
Incompatible types: 'PWideChar' and 'string'
Непонятно что за дела
procedure TForm1.StringGrid1DblClickCell(Send er: TObject; ARow, ACol: Integer); var j:string; begin j:= StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]; if StringGrid1.Col = 1 then ShellExecute( Handle, 'open', j, nil, nil, SW_NORMAL ); end; Ошибка вся все время пробовал по разному Делаешь так то ошибка при клике по ячейки procedure TForm1.StringGrid1DblClickCell(Send er: TObject; ARow, ACol: Integer); var j:Pwidechar; s:string; begin s:= StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row]; s:=widechartostring(j); if StringGrid1.Col = 1 then ShellExecute( Handle, 'open', j, nil, nil, SW_NORMAL ); end; Последний раз редактировалось Aleksandr69; 25.12.2011 в 11:38. |
25.12.2011, 11:49 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
25.12.2011, 11:58 | #3 | |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
Цитата:
[DCC Error] Unit1.pas(177): E2010 Incompatible types: 'PWideChar' and 'string' j:= AdvStringGrid1.Cells[AdvStringGrid1.Col, AdvStringGrid1.Row]; |
|
25.12.2011, 12:01 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
j должна быть типа string.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
25.12.2011, 12:02 | #5 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
так у меня так и было изначально вот программа запускается и ошибка уже при клике
procedure TForm1.AdvStringGrid1DblClickCell(S ender: TObject; ARow, ACol: Integer); var j:Pwidechar; s:string; begin s:= AdvStringGrid1.Cells[AdvStringGrid1.Col, AdvStringGrid1.Row]; j:=widechartostring(s); if AdvStringGrid1.Col = 1 then //ткнули в ячейку второй колонки ShellExecute( Handle, 'open', j, nil, nil, SW_NORMAL ); end; |
25.12.2011, 12:07 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
это совсем другое.
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
25.12.2011, 12:07 | #7 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
Точно простите вот так все запускается и ошибки нет только на клик не реагирует и ничего не происходит
procedure TForm1.AdvStringGrid1DblClickCell(S ender: TObject; ARow, ACol: Integer); var j:Pwidechar; s:string; begin s:= AdvStringGrid1.Cells[AdvStringGrid1.Col, AdvStringGrid1.Row]; j:=PWidechar(s); if AdvStringGrid1.Col = 1 then //ткнули в ячейку второй колонки ShellExecute( Handle, 'open', j, nil, nil, SW_NORMAL ); end; Вот ваш вариант тоже самое procedure TForm1.AdvStringGrid1DblClickCell(S ender: TObject; ARow, ACol: Integer); var j:string; begin j:= AdvStringGrid1.Cells[AdvStringGrid1.Col,AdvStringGrid1.R ow]; if AdvStringGrid1.Col = 1 then ShellExecute( Handle, 'open', PChar(j), nil, nil, SW_NORMAL ); end; Не хочет открывать ссылку из ячейки и все ,вот засада Последний раз редактировалось Aleksandr69; 25.12.2011 в 12:09. |
25.12.2011, 12:13 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ссылка записана как положено? с указанием протокола?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
25.12.2011, 12:14 | #9 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
да http://www.site.ru ,значит что то в системе ,даже браузер не запускается реакции 0 Проверил так тоже реакции нет ShellExecute( Handle, 'open', 'http://www.site.ru', nil, nil, SW_NORMAL ); Что может быть,придется в прогу браузер добавлять наверно. Все работает спасибо моя ошибка)))) была в строке if AdvStringGrid1.Col = 1 then а нужно if AdvStringGrid1.Col = 4 then Последний раз редактировалось Aleksandr69; 25.12.2011 в 12:36. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Incompatible types | MetR | Помощь студентам | 4 | 22.12.2011 18:31 |
incompatible types | nupinh | Общие вопросы Delphi | 1 | 21.05.2011 23:18 |
Incompatible types: 'String' and 'Text' | eshik | Помощь студентам | 3 | 21.04.2010 00:41 |