Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

Проблема с MessageDlg!   Найти похожие ветки 

 
Dyakon_Frost ©   (2006-04-12 16:53) [0]

Здравствуйте!
Есть проблема:
Вот простенькая процедура:

Procedure Lab3Record(SG1: TStringGrid; SD1: TSaveDialog; OD1: TOpenDialog); stdcall;
var i,j: integer;
begin
if OD1.Execute then
 OD1.FileName;

AssignFile(f,OD1.FileName);
Reset(f);
for i := 1 to 5 do
for j := 1 to 5 do
 read(f,b[i,j]);

if MessageDlg("Хотите транспонировать матрицу",mtConfirmation,[mbYes, mbNo],0) = mrYes then

for i := 1 to 5 do
for j := 1 to 5 do
 c[i,j] := b[j,i];

for i := 1 to 10 do
for j := 1 to 10 do
 SG1.Cells[j-1,i-1] := FloatToStr(c[i,j]);

CloseFile(f);
end;


Проблема с MessageDlg - выдает ошибку, вопрос: в чем дело?

Заранее спасибо!


 
Fay ©   (2006-04-12 16:59) [1]

Если выдаёт ошибку, значит ты что-то где-то не так написал.


 
Плохиш ©   (2006-04-12 17:02) [2]


> if OD1.Execute then
>  OD1.FileName;

Это ещё что-такое?


 
Dyakon_Frost ©   (2006-04-12 17:02) [3]

Ну это понятно! Дело в том, что если писать в программе, то все нормально, а когда в dll-ке выдает ошибку. Видимо не подключил какой-то модуль, а вот какой вопрос!


 
Dyakon_Frost ©   (2006-04-12 17:04) [4]

"Плохиш" - указываю путь к файлу используя OpenDialog1!


 
Плохиш ©   (2006-04-12 17:04) [5]

ShareMem?


 
Fay ©   (2006-04-12 17:04) [6]

2 Dyakon_Frost ©   (12.04.06 17:02) [3]
> когда в dll-ке
ЧТО "в dll-ке" ? "Писать" или ЧТО ?


 
Dyakon_Frost ©   (2006-04-12 17:04) [7]

Вот модули которые подключаю:
 ShareMem,
 SysUtils,
 StdCtrls,
 Grids,
 Mask,
 ExtCtrls,
 Dialogs,
 Classes


 
Плохиш ©   (2006-04-12 17:04) [8]


> Dyakon_Frost ©   (12.04.06 17:04) [4]
> "Плохиш" - указываю путь к файлу используя OpenDialog1!

Правда?


 
Плохиш ©   (2006-04-12 17:07) [9]

Оригинально, не зависимо от того, что нажал пользователь в диалог, даже если он не выбрал ни какого имени файла, всё-равно выполнить(попытаться выполнить) весь код. Я плякал.


 
Dyakon_Frost ©   (2006-04-12 17:07) [10]

"Fay" - эту процедуру я пишу в dll - и именно в ней возникает ошибка, а если пишу MessageDlg в программе, то все ОК!


 
Плохиш ©   (2006-04-12 17:08) [11]


> Dyakon_Frost ©   (12.04.06 17:04) [7]
> Вот модули которые подключаю:

К стиральной машине подключаешь? Попробуй к электроплите.


 
Dyakon_Frost ©   (2006-04-12 17:08) [12]

"Плохиш" - да суть не в том, это не проблема!


 
vovnuke ©   (2006-04-12 17:09) [13]

1) а вот это

> then
>  OD1.FileName;

зачем?
2) а если не Execute, тогда что?


 
Dyakon_Frost ©   (2006-04-12 17:10) [14]

Какая разница, суть не в том, проблема в MessageDlg!


 
unknown ©   (2006-04-12 17:11) [15]


> Dyakon_Frost ©
>
>  if OD1.Execute then
>  OD1.FileName;

Это что делает, интересно?
И где проверка валидности файла?


 
unknown ©   (2006-04-12 17:12) [16]


> Dyakon_Frost ©   (12.04.06 17:10) [14]
> Какая разница, суть не в том, проблема в MessageDlg!

Нет, не в MessageDlg.


 
vovnuke ©   (2006-04-12 17:13) [17]

думаю дело в Screen-е


 
Dyakon_Frost ©   (2006-04-12 17:14) [18]


> Нет, не в MessageDlg.

Тогда в чем?


 
unknown ©   (2006-04-12 17:16) [19]


> Dyakon_Frost ©   (12.04.06 17:14) [18]
> > Нет, не в MessageDlg.
> Тогда в чем?


Скорее всего в этом:
AssignFile(f,OD1.FileName);
Reset(f);
for i := 1 to 5 do
for j := 1 to 5 do
read(f,b[i,j]);

Отладчиком пройтись не судьба?


 
Плохиш ©   (2006-04-12 17:17) [20]

Можно конечно спросить о используемых неизвестных переменных, да и о ошибке можно было бы спросить, только зачем? Совершенно не интересно.


 
Dyakon_Frost ©   (2006-04-12 17:17) [21]

Он даже и невключится так как пишет что ошибка в
if MessageDlg("asdasd",mtConfirmation,[mbYes,mbNo],0) = mrYes then


 
Dyakon_Frost ©   (2006-04-12 17:28) [22]

Ладно народ придеться разбираться самому!


 
Dyakon_Frost ©   (2006-04-12 17:42) [23]

Как всегда все эллементарно: надо подключить модуль Controls.
И сразу всем совет: "Не создавайте себе и другим проблем помелочам."
Это почти ко всем присутствующим относится!

Спасибо!


 
Плохиш ©   (2006-04-12 18:01) [24]

http://ln.com.ua/~openxs/articles/smart-questions-ru.html


 
Leonid Troyanovsky ©   (2006-04-12 21:52) [25]


> Плохиш ©   (12.04.06 18:01) [24]

> http://ln.com.ua/~openxs/articles/smart-questions-ru.html


Зашибись.
А как тут нах посылают?

--
Regards, LVT.


 
Германн ©   (2006-04-13 03:21) [26]


> Зашибись.
> А как тут нах посылают?

По разному. Как кому захочется.
А Вы собс-но об чём, Леонид?


 
Amoeba ©   (2006-04-13 09:38) [27]


> Зашибись.
> А как тут нах посылают?

Если надо кого либо туда послать, то посылай сюда: http://lleo.aha.ru/na/



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.009 c
2-1144760697
Volodya_
2006-04-11 17:04
2006.04.30
TMediaPlayer


15-1144676885
Yuri Btr
2006-04-10 17:48
2006.04.30
значение константы SES_HIDEGRIDLINES


15-1144305481
patephon
2006-04-06 10:38
2006.04.30
Распилить фильм


2-1144925749
Dest81
2006-04-13 14:55
2006.04.30
отсылка на e-mail


8-1133955905
BBCHa
2005-12-07 14:45
2006.04.30
Анализ и разбор Wavа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский