|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ShellExecute и ошибка на NativeUInt
Люди добрые! Подскажите!
Пишу вот такой вот код. Код:
ShellExecute(0, nil,'http://9kumalak.kz',nil,nil,1); Код:
ShellExecute((Application.Handle,PChar('open'), PChar('9kumalak.kz'), PChar(0), nil, SW_NORMAL) ; Код:
[dcc32 Error] Unit1.pas(1026): E2014 Statement expected, but expression of type 'NativeUInt' found |
#2
|
||||
|
||||
Цитата:
Цитата:
Цитата:
Цитата:
|
#3
|
|||
|
|||
Создал проект по новому и написал тот же код. И все нормально стало работать.
А с существующим проектом выдает все ту же ошибку. Непонятно из за чего. Как теперь быть? В существующем проекте используются следующие элементы. uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, StdCtrls, Vcl.ExtCtrls, Vcl.MPlayer, Vcl.Buttons, Vcl.Imaging.jpeg,Math,ShellApi,GIFImg; |
#4
|
||||
|
||||
Цитата:
Цитата:
|
#5
|
|||
|
|||
Цитата:
Объявлены они вот так вот {$EXTERNALSYM ShellExecute} function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: LPWSTR; ShowCmd: Integer): HINST; stdcall; Цитата:
Прописал. Не получилось. А это случайно не может быть связано с разрядностью операционной системы? Последний раз редактировалось otan, 11.06.2014 в 10:50. |
#6
|
||||
|
||||
Цитата:
Цитата:
Если закомментировать вызов ShellExecute то точно никаких ошибок компилятор не выдаёт? Ещё как вариант, можешь прописать объявление ShellExecute в своём модуле прямо перед процедурой где она используется вот так: Код:
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: LPWSTR; ShowCmd: Integer): HINST; stdcall; external 'shell32.dll' name 'ShellExecuteW'; Код:
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: PWideChar; ShowCmd: Integer): HINST; stdcall; external 'shell32.dll' name 'ShellExecuteW'; Код:
function ShellExecute(hWnd: HWND; Operation, FileName, Parameters, Directory: WideString; ShowCmd: Integer): HINST; stdcall; external 'shell32.dll' name 'ShellExecuteW'; |
#7
|
|||
|
|||
Спасибо за отклики, Полицай!
Но, я нашел уже решение. Оказалась что у меня в проекте отключена опция Extended Syntax. Ошибка выходило из за этого. Компилятор не понимал, что такое shellexecute. Включил опцию и все нормально стало. |
#8
|
||||
|
||||
Цитата:
Но если присваивать куда-нибудь результат выполнения функции: Код:
var dw: DWORD; begin dw := ShellExecute(Application.Handle,PChar('open'), PChar('http://9kumalak.kz'), PChar(0), nil, SW_NORMAL) ; end; p.s. Кстати посмотрел в интернете что такое "Тогызкумалак", прикольно, помню я в детстве увлекался игрой Калах. |
#9
|
||||
|
||||
Цитата:
Не стоит путать форумы с богадельнями. © Bargest Последний раз редактировалось Freeman, 11.06.2014 в 21:02. |
#10
|
|||
|
|||
Цитата:
|