Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Derezzed
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 33
1

OpenDialog1.Execute/SaveDialog1.Execute

08.12.2015, 13:20. Просмотров 305. Ответов 9
Метки нет (Все метки)

Добрый день. Помогите, пожалуйста:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls;
 
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    Memo1: TMemo;
    procedure N2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.N2Click(Sender: TObject);
begin
OpenDialog1.Execute;
end;
 
Procedure otkr;
begin
if OpenDialog1.Execute then  // в этой строчке
//код
end;
end;
 
end.
Выдает ошибку: недекларированный тип OpenDialog1. Такая же фигня с SaveDialog.
По мне, так полнейший бред, ведь все написано правильно... Думаю проблема не в коде.

P.S. Может быть из-за того, что папка с проектом на другом диске ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2015, 13:20
Ответы с готовыми решениями:

Не выполняется opendialog1.Execute
Всем привет! Такая ситуация: написал программу, в ней из потока нужно запустить...

В OpenDialog1.Execute ошибка
unit Unit2; interface uses Windows, SysUtils, Classes, Controls, Forms, Dialogs, StdCtrls,...

if OpenDialog1.execute then begin Где ошибка?
сел учить делфи, там простая программа, типо текстовый редактор, программирую меню, у этого мудака...

Error H2365: "Override method poster.execute shold match case of ancesor TThread.execute"
Собственно сабж... на ембаркадеро 2010. кто может подсказать как исправить? ведет на строку...

Не работает OpenDialog.Execute()
Добрый день. Delphi 7. Кинул на форму диалог открытия файлов, пытаюсь вот так его запустить: ...

9
northener
пофигист широкого профиля
3451 / 2346 / 636
Регистрация: 15.07.2013
Сообщений: 13,921
08.12.2015, 13:38 2
Цитата Сообщение от Derezzed Посмотреть сообщение
Выдает ошибку: недекларированный тип OpenDialog1
Потому что регулярная процедура otkr не видит свойства формы.
0
Derezzed
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 33
08.12.2015, 13:50  [ТС] 3
И как это поправить ?
0
northener
пофигист широкого профиля
3451 / 2346 / 636
Регистрация: 15.07.2013
Сообщений: 13,921
08.12.2015, 13:52 4
Самое логичное - сделать эту процедуру методом формы.
Самое нелогичное - написать
Delphi
1
if Form1.OpenDialog1.Execute then
1
Derezzed
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 33
08.12.2015, 13:54  [ТС] 5
Самое не логичное уже успел попробовать - не работает. Странно, в старых проектах все точно так же и работает, а тут нет...
0
AHBAR
256 / 250 / 174
Регистрация: 05.04.2013
Сообщений: 1,163
08.12.2015, 13:58 6
Цитата Сообщение от northener Посмотреть сообщение
Потому что регулярная процедура otkr не видит свойства формы.
Цитата Сообщение от Derezzed Посмотреть сообщение
И как это поправить ?
уберите эту процедуру совсем, лучше допишите код так:
Delphi
1
2
3
4
5
procedure TForm1.N2Click(Sender: TObject);
begin
if not OpenDialog1.Execute then exit;
// далее ваш код
end;
Добавлено через 1 минуту
ну или так:
Delphi
1
2
3
4
5
6
procedure TForm1.N2Click(Sender: TObject);
begin
if OpenDialog1.Execute then BEGIN
// далее ваш код
END;
end;
1
Derezzed
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 33
08.12.2015, 14:01  [ТС] 7
Так работает. Значит дело в процедурах... А почему такая проблема возникает, ведь раньше не было ?
0
northener
пофигист широкого профиля
3451 / 2346 / 636
Регистрация: 15.07.2013
Сообщений: 13,921
08.12.2015, 14:02 8
Цитата Сообщение от Derezzed Посмотреть сообщение
ведь раньше не было ?
Всегда было.
1
AHBAR
256 / 250 / 174
Регистрация: 05.04.2013
Сообщений: 1,163
08.12.2015, 14:08 9
вот так сходу без делфи (под рукой пока нет) трудно сказать, возможно нужно было прописать:
Delphi
1
2
3
4
5
procedure TForm1.N2Click(Sender: TObject);
begin
OpenDialog1.Execute;
otkr;
end;
и саму процедуру объявить в шапке, но зачем право так заморачиваться если можно сделать проще и без этой процедуры otkr
1
Derezzed
0 / 0 / 0
Регистрация: 07.12.2015
Сообщений: 33
08.12.2015, 14:10  [ТС] 10
Все, парни, разобрался) Надо было прописать

Delphi
1
2
begin with Form1 do begin
if OpenDialog1.Execute then begin
Спасибо!
0
08.12.2015, 14:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2015, 14:10

Ошибка TMyThread.Execute$12$ActRec в потоке
Совершенно не могу понять что это значит и откуда оно взялось. Гуглил.

Не понимает Memo в процедуре MyThread.Execute
Почему так?

Как запихнуть переменную типа string в Shell Execute?
Собственно все описано в заголовке.. Не получается, потому что жалуется, что мол нужен тип PChar,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru