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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #12  
Старый 15.05.2014, 18:05
Gareth Gareth вне форума
Активный
 
Регистрация: 21.03.2013
Адрес: Приднестровье
Сообщения: 202
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
Ведь для этого специально функция Execute у диалога результатом булева, поддерживает такую конструкцию
Код:
...
if sOpenDialog1.Execute then
begin
// Здесь всё что нужно сделать при выборе кнопки OK в диалоге
//
end;
...
если ничего не выбрано (нажата отмена) то ничего и не произойдёт

Помогите с ошибкой, что не так делаю ?
Код:
var
  Form1: TForm1;
     Icon: TIcon;
   Pch: array[0..256] of Char;
   IconIndex: Word;
   S:String;
.......
.......

procedure TForm1.sSpeedButton1Click(Sender: TObject);
begin
if S='' then
    begin
       if sOpenDialog1.Execute then
       begin
         S:=sOpenDialog1.FileName;
         Icon:=TIcon.Create;
         StrPCopy(Pch,S);
         Icon.Handle:= ExtractAssociatedIcon(hInstance, Pch, IconIndex);
         sSpeedButton1.Glyph.Width:= Icon.Width;
         sSpeedButton1.Glyph.Height:= Icon.Height;
         sSpeedButton1.Glyph.Canvas.Draw(0, 0, Icon);
         Icon.Free;
         end;
      end
      else
    begin

          ShellExecute (Form1.Handle, nil, PChar(S), nil, nil, SW_RESTORE);
    end;
end;

Всё работает нормально, ярлык отображается, но как только закрываю программу, выскакивает ошибка
access violation at address 00000000

В интернете естественно искал, но нашёл только одну похожую тему. Человек делал что-то похожее на то, что делаю я, только в 2004 году . - ссылка
Внятного ответа не было. Будьте добры, помогите
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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