Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при сохранении файла [D7, XP]


Страницы:   1 2

smartleds ©   (2008-12-17 20:39:00) 

Господа подскажите в чем может быть проблема, сохраняю файл при помощи стандартного диалога.
Вылазит ошибка "Project xxx.exe raised exception class EAccess Violation with message Access violation at address XXXX in module xxx.exe".
При пошаговой отладке ошибка возникает в строчке form2.SaveDialog2.Execute
уже все облазил чего ей не нравится не пойму.

var cfilename,binfilename:string;
var cfile:textfile;
//========================-Save  FILE-==============
form2.savedialog2.initialdir:='f:\DELPH\Array\';
if form2.SaveDialog2.Execute then  <=!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                 begin
               cfilename:= form2.Savedialog2.Filename+'.c';
               AssignFile(cfile,cfilename);
               rewrite(cfile);
                 end;


Leonid Troyanovsky   (2008-12-17 21:38:00) [21]


> smartleds   (17.12.08 21:27) [12]

>  а поскольку из окна ошибки copy/paste не работает

Ctrl-C, Ctrl-V - нормально работают, даже из окна дебагера.

А как там мои два бита?

--
Regards, LVT.


smartleds   (2008-12-17 21:37:00) [22]

В SaveAs 1?
Вот ее процедура , тоже самое что и в SaveAs2 , только здесь оформлено в виде дополнительной функции SaveAs, которая вызывается при нажатии кнопки SaveAs1.

procedure  SaveAs (data_sizesave:integer) ;
var cfilename,binfilename:string;
var cfile:textfile;
var binaryfile:file of byte;
var i:integer;
begin

SetLength(scriptarray,data_sizesave);
scriptarray[10]:=1;
//========================-OUTPUT C FILE-==============
form1.savedialog1.initialdir:='f:\DELPH\Script_Array\';
form1.SaveDialog1.Execute;
cfilename:= form1.Savedialog1.Filename+'.c';
AssignFile(cfile,cfilename);
rewrite(cfile);

for i:=0 to length(scriptarray)-2 do
    begin
    write(cfile, scriptarray[i]);
    write(cfile,',');
    end;
   
write(cfile, scriptarray[length(scriptarray)-1]);
closeFile(cfile);
//====================-OUTPUT BINARY FILE-==========
binfilename:=form1.Savedialog1.Filename+'.bin';
AssignFile(binaryfile,binfilename);
rewrite(binaryfile);
for i:=0 to length(scriptarray)-1 do
    write(binaryfile, scriptarray[i]);
closeFile(binaryfile);
end;


Anatoly Podgoretsky   (2008-12-17 21:32:00) [23]

> smartleds  (17.12.2008 21:27:12)  [12]

Ты бы поинтересовался, что означет xxx, например на www.xxx.com


Anatoly Podgoretsky   (2008-12-17 21:31:00) [24]

Значит там ошибка.


smartleds   (2008-12-17 21:27:00) [25]

На форме 2 иконка SaveDialog расположена.
Заметил закономерность у меня на форме 1 тоже есть кнопка SaveAs1, это глюк возникает только тогда когда я перед нажатием SaveAs2 на форме 2, нажимаю SaveAs1 на форме 1. Если сначало нажать на SaveAs2, то все работает.
PS. Я написал вместо названия файла ХХХ только потому что оно у меня длинное содержит дату , номер версии и др информацию, а поскольку из окна ошибки copy/paste не работает пришлось все переписывать на бумажку, и я посчитал что из-за названия файла ошибки быть не может и заменнил на более простое


Anatoly Podgoretsky   (2008-12-17 21:15:00) [26]

> Leonid Troyanovsky  (17.12.2008 21:14:10)  [10]

Навевает на странные мысли.


Leonid Troyanovsky   (2008-12-17 21:14:00) [27]


> Anatoly Podgoretsky ©   (17.12.08 21:13) [8]

> Какой то странный автор, не человек, а загадка.

Это ж мистер ХХХ.

--
Regards, LVT.


Leonid Troyanovsky   (2008-12-17 21:13:00) [28]


> smartleds   (17.12.08 21:07) [4]

> Убрал form2 не помогло.

Оное помогает лишь по-крупному.

--
Regards, LVT.


Anatoly Podgoretsky   (2008-12-17 21:13:00) [29]

И без знания заголовка метода.
Какой то странный автор, не человек, а загадка.


Anatoly Podgoretsky   (2008-12-17 21:11:00) [30]

> smartleds  (17.12.2008 21:07:04)  [4]

Это говорит о том, что какой то объект не создан


Leonid Troyanovsky   (2008-12-17 21:11:00) [31]


> smartleds   (17.12.08 21:07) [4]

> in module xxx.exe".

- Во, опять! [ДВ]

--
Regards, LVT.


Leonid Troyanovsky   (2008-12-17 21:09:00) [32]


> Anatoly Podgoretsky ©   (17.12.08 21:00) [3]

> И зря ты шифруешь цифры под XXXX

Дык, клубника ж там.

--
Regards, LVT.

PS Ставлю 2 бита на то, что savedialog2 д.б. создать Пушкин.


smartleds   (2008-12-17 21:07:00) [33]

не шифрую сейчас спишу
Violation with message Access violation at address 004021А6 in module xxx.exe".
Write of address 00000004
Причем эти адреса всегда одинаковые
Убрал form2 не помогло.


Anatoly Podgoretsky   (2008-12-17 21:00:00) [34]

Тогда зачем form2.
И зря ты шифруешь цифры под XXXX


smartleds   (2008-12-17 20:55:00) [35]

Да , совершенно верно , у меня есть кнопка Save As , часть процедуры обработки которой я выложил выше


Сергей М.   (2008-12-17 20:50:00) [36]

Эти чудеса где происходят - в обработчике клика какой-то кнопки, лежащей на form2 ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо