Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
1

Страная ошибка "Failed to set date 'бла-бла-бла'

06.11.2012, 12:21. Просмотров 1557. Ответов 24
Метки нет (Все метки)

Привет пишу программу(ну вы знаете). Возникла проблемка:
Delphi
1
Trial.Registrator('Active');  //регистрация
Пишет имено эту ошибку, которая в название: Failed to set date 'Active'. И тем более пишет на почти любое название. Подскажите что делать?
P.S. кидает на нижнюю строку.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 12:21
Ответы с готовыми решениями:

Ошибка: "Query: CommandText does not return a result set"
Ув. коллеги, Пытаюсь сделать такой запрос: UPDATE sprStreets SET...

Ошибка: "ADOQuery9: CommandText does not return a result set"
Помогите пожалуйста, есть такая процедурка, вроде работает, но выдает ошибку ...

Ошибка при выполнении процедуры: "CommandText does not return a result set"
Процедура: procedure TForm1.Button5Click(Sender: TObject); var help1,...

Ошибка "CommandText does not return a result set при пустой базе Sql"
есть вот такой код procedure TForm2.FormCreate(Sender: TObject); begin if...

Запись в реестр и ошибка "Failed to set data"
Что то у меня не выходит, выбивает программу при записи в реестр, что не так?...

24
DaMortum
244 / 147 / 31
Регистрация: 07.10.2012
Сообщений: 401
06.11.2012, 12:57 2
В других твоих темах ты писал так:
Delphi
1
Trial.Registrator(datetostr(date), 'Индефикатор',false);  //регистрация
Сравни.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 15:44  [ТС] 3
Цитата Сообщение от DaMortum Посмотреть сообщение
В других твоих темах ты писал так:
Delphi
1
Trial.Registrator(datetostr(date), 'Индефикатор',false);  //регистрация
Сравни.
Ну и что. Я просто регистрацию даты ввывел в WriteDate. А false убрал так как оно и так должно быть false.
0
Nutserus
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 608
06.11.2012, 16:43 4
Обзаведись переводчиком наконец. Failed to set date 'Active' - Не в состоянии назначить дате значение 'Active'.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 19:39  [ТС] 5
Цитата Сообщение от Nutserus Посмотреть сообщение
Обзаведись переводчиком наконец. Failed to set date 'Active' - Не в состоянии назначить дате значение 'Active'.
Ну это и так понятно, ну а чем это вызвано вдруг? Да так что меня Windows уже посылает.

Добавлено через 2 часа 11 минут
Можете посмеятся, но эта ошибка выпадает на каждое сочетание слов.
0
DaMortum
244 / 147 / 31
Регистрация: 07.10.2012
Сообщений: 401
06.11.2012, 19:44 6
Цитата Сообщение от саша40 Посмотреть сообщение
Ну и что. Я просто регистрацию даты ввывел в WriteDate. А false убрал так как оно и так должно быть false.
Просто раньше обьявление функции было таким
Delphi
1
function Registrator(Dat, Name: string; Activate: Boolean): Boolean;
Откуда нам знать что там внутри функции происходит. Покажи функцию.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 19:49  [ТС] 7
Цитата Сообщение от DaMortum Посмотреть сообщение
Просто раньше обьявление функции было таким
Delphi
1
function Registrator(Dat, Name: string; Activate: Boolean): Boolean;
Откуда нам знать что там внутри функции происходит. Покажи функцию.
А сразу сказать нельзя было. Могу показать только современый вариант:
Delphi
1
2
3
4
5
function TRegTrial.Registrator(Name: string): Boolean;
begin
Reg.WriteBool(Name,false); //параментр false заменяет переменую Activate
Result:=true; 
end;
Ну и дата:
Delphi
1
2
3
4
5
function TRegTrial.WriteDate(Dat: string): Boolean;
begin
Reg.WriteString('Дата первого запуска',Dat);
Result:=true;
end;
Раньше они были вместе.
0
Nutserus
210 / 169 / 24
Регистрация: 24.04.2012
Сообщений: 608
06.11.2012, 20:01 8
Ошибка явно не отсюда.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 20:33  [ТС] 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
Trial:= TRegTrial.Create;//создаем элемент триала
Trial.Init('h_c_u');  //иницилизация(создание ключа)
if Trial.RegistertEx('MusicPlayer')=false then //если регистрация ещё не прошла то...
begin
a:=datetostr(date); //узнаем текущую дату
Trial.CreateTrial('MusicPlayer');
Trial.Registrator('ACTIVATE');
a1:=Date + 30; //создаем переменую триала
Trial.WriteDate(a);
a2:=strtodate(Trial.ReadCloseDate('Конечная дата')) - date; //узнаем остаток дней
Trial.WriteCloseDate('Конечная дата',datetostr(a1)); //записываем конечную дату
Form2.Label5.Caption:='Конечная дата:' + Trial.ReadCloseDate('Конечная дата'); //показываем конечную дату
Form2.Label6.Caption:='Осталось дней: ' + datetostr(a2) + ' дней'; //показываем сколько осталось дней
end
else //иначе
begin //прошла регистрация
Trial.OpenTrial('MusicPlayer');
a11:=Trial.ReadCloseDate('Конечная дата');
a1:=strtodate(a11);
a2:=a1 - date; //узнаем сколько осталось
Form2.Label5.Caption:='Конечная дата: ' + Trial.ReadCloseDate('Конечная дата'); //показываем конечную дату
Form2.Label6.Caption:='Осталось дней: ' + datetostr(a2) + ' дней'; //показываем сколько осталось дней
if (date=a1) and (Trial.ActivationExists('ACTIVATE')=false) then //узнаем активирована ли программа и кончился ли срок
begin
ShowMessage('Внимание! Истек срок активации! Активируйте программу!');
Form2.Show; //форма активации
end;
 
if Trial.ActivationExists('ACTIVATE')=false then  //узнаем активирована ли программа
Form2.Label4.Caption:='Cтатус: Неактивировано' //если нет то пишим это
else
Form2.Label4.Caption:='Статус: Активировано';  //иначе это
end;
Trial.Free;
Добавлено через 1 минуту
Я кстати заметил, что пишет ошибку Windows, а не компилятор. Обычно они так взаимодействуют. И пишет что-то, но очень похожее на реестр.
0
mss
2634 / 2258 / 276
Регистрация: 24.12.2010
Сообщений: 13,725
06.11.2012, 20:34 10
Цитата Сообщение от саша40 Посмотреть сообщение
Можете посмеятся
Спасибо, поржал.

Цитата Сообщение от DaMortum Посмотреть сообщение
Индефикатор
"Дефекатор" для всего этого, пожалуй, будет наиболее правильным названием.

Цитата Сообщение от саша40 Посмотреть сообщение
что делать?
Воспользоваться наконец встроенным отладчиком.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 20:46  [ТС] 11
Цитата Сообщение от mss Посмотреть сообщение
Спасибо, поржал.



"Дефекатор" для всего этого, пожалуй, будет наиболее правильным названием.



Воспользоваться наконец встроенным отладчиком.
Да у меня его нет. Может это отладчик delphi так я им всегда пользоюсь, и он мне говорит, что имено та строка.
0
mss
2634 / 2258 / 276
Регистрация: 24.12.2010
Сообщений: 13,725
06.11.2012, 20:49 12
Цитата Сообщение от саша40 Посмотреть сообщение
я им всегда пользоюсь
Ну тогда отремонтируй F7.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 21:00  [ТС] 13
Не могу F7 у меня занята.
0
mss
2634 / 2258 / 276
Регистрация: 24.12.2010
Сообщений: 13,725
06.11.2012, 21:03 14
Цитата Сообщение от саша40 Посмотреть сообщение
Не могу F7 у меня занята
Ну тогда кури бамбук.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
06.11.2012, 21:21  [ТС] 15
Цитата Сообщение от mss Посмотреть сообщение
Ну тогда кури бамбук.

Не по теме:

хаха :D

0
DaMortum
244 / 147 / 31
Регистрация: 07.10.2012
Сообщений: 401
06.11.2012, 21:28 16
Цитата Сообщение от саша40 Посмотреть сообщение
Не могу F7 у меня занята.
Чем занята? Жевачка прилеплена?
Тогда используй F8.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
07.11.2012, 12:37  [ТС] 17
Цитата Сообщение от DaMortum Посмотреть сообщение
Чем занята? Жевачка прилеплена?
Тогда используй F8.
Хаха
Заняты обе кнопочками как в видеоплеере.

Добавлено через 15 часов 1 минуту
Законча наконец работу с иницилизацией. Я бы хотел обратить внимание на триал. Ошибка вылезает и нечего не делается. Вот покажу весь код модуля:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
unit RegTrial;
 
interface
uses Windows, SysUtils, Registry;
 
type
TRegTrial = class(TObject)
private
{ Private declarations }
public
{ Public declarations }
constructor Create;
destructor Destroy; override;
function Init(R: string): Boolean;
function Registrator(Name: string): Boolean;
function ReadDate(): string;
function ActivationExists(Name: string): boolean;
function SetDate(Dat: string): boolean;
function Activater(Name: string; F: boolean): boolean;
function SetTime(F: string): boolean;
function ReadTime(): String;
function RegistertEx(ProgrammName: string): Boolean;
function DeleteTrial(ProgrammName: string): Boolean;
function WriteCloseDate(Name, Dat: string): Boolean;
function ReadCloseDate(Name: string): string;
function WriteCloseTime(Name, Tim: string): Boolean;
function ReadCloseTime(Name: String): String;
function WritePasswordKey(Name, Password: string): boolean;
function ReadPasswordKey(Name: string): String;
function OpenTrial(ProgrammName: string): Boolean;
function CreateTrial(ProgrammName: string): Boolean;
function WriteDate(Dat: string): Boolean;
end;
 
var
Reg: TRegistry;
 
implementation
 
{ TRegTrial }
 
function TRegTrial.Activater(Name: string; F: boolean): boolean;
begin
Reg.WriteBool(Name,F);
Result:=true;
end;
 
function TRegTrial.ActivationExists(Name: string): boolean;
begin
Result:=Reg.ReadBool(Name);
end;
 
constructor TRegTrial.Create;
begin
Reg:= TRegistry.Create;
end;
 
function TRegTrial.CreateTrial(ProgrammName: string): Boolean;
begin
Reg.CreateKey(ProgrammName);
Result:=true;
end;
 
function TRegTrial.DeleteTrial(ProgrammName: string): Boolean;
begin
Reg.DeleteKey('SOFTWARE/Classes' + ProgrammName);
Result:=true;
end;
 
destructor TRegTrial.Destroy; 
begin
Reg.CloseKey;
Reg.Free;
end;
 
function TRegTrial.Init(R: string): Boolean;
begin
Result:=false;
if R<>'' then
begin
if R='h_l_m' then
begin
Reg.RootKey:=HKEY_LOCAL_MACHINE;
end;
if R='h_c_u' then
begin
Reg.RootKey:=HKEY_CURRENT_USER;
end;
Result:=true;
end;
end;
 
function TRegTrial.OpenTrial(ProgrammName: string): Boolean;
begin
Reg.OpenKey('SOFTWARE/Classes' + ProgrammName,true);
Result:=true;
end;
 
function TRegTrial.ReadCloseDate(Name: string): string;
begin
Result:=Reg.ReadString(Name);
end;
 
function TRegTrial.ReadCloseTime(Name: String): String;
begin
Result:=Reg.ReadString(Name);
end;
 
function TRegTrial.ReadDate: string;
begin
Result:= Reg.ReadString('Дата первого запуска');
end;
 
function TRegTrial.ReadPasswordKey(Name: string): String;
begin
Result:='';
Result:=Reg.ReadString(Name);
end;
 
function TRegTrial.ReadTime: String;
begin
Result:=Reg.ReadString('Время');
end;
 
function TRegTrial.RegistertEx(ProgrammName: string): Boolean;
begin
if Reg.KeyExists('SOFTWARE/Classes' + ProgrammName)=false then
Result:=false
else
Result:=true;
end;
 
function TRegTrial.Registrator(Name: string): Boolean;
begin
Reg.WriteBool(Name,false);
Result:=true;
end;
 
function TRegTrial.SetDate(Dat: string): boolean;
begin
Reg.WriteString('Дата первого запуска',Dat);
Result:=true;
end;
 
function TRegTrial.SetTime(F: string): boolean;
begin
Reg.WriteString('Время',F);
Result:=true;
end;
 
function TRegTrial.WriteCloseDate(Name, Dat: string): Boolean;
begin
Reg.WriteString(Name,Dat);
Result:=true;
end;
 
function TRegTrial.WriteCloseTime(Name, Tim: string): Boolean;
begin
Reg.WriteString(Name,Tim);
Result:=true;
end;
 
function TRegTrial.WriteDate(Dat: string): Boolean;
begin
Reg.WriteString('Дата первого запуска',Dat);
Result:=true;
end;
 
function TRegTrial.WritePasswordKey(Name, Password: string): boolean;
begin
Reg.WriteString(Name,Password);
Result:=true;
end;
 
end.
Где здесь прячится эта ошибка?
0
mss
2634 / 2258 / 276
Регистрация: 24.12.2010
Сообщений: 13,725
07.11.2012, 12:52 18
Цитата Сообщение от саша40 Посмотреть сообщение
Где здесь прячится эта ошибка?
Об этом скажут клавиши F7 и F8 во встроенном отладчике.
Но они у тебя залеплены жвачками и видеоплейерами, так что похоже обнаружение ошибки откладывается на неопределенное время.
0
саша40
-111 / 293 / 47
Регистрация: 14.08.2012
Сообщений: 2,573
07.11.2012, 14:06  [ТС] 19
Цитата Сообщение от mss Посмотреть сообщение
Об этом скажут клавиши F7 и F8 во встроенном отладчике.
Но они у тебя залеплены жвачками и видеоплейерами, так что похоже обнаружение ошибки откладывается на неопределенное время.
ну я же не виноват, что завод изготовитель так сделал клавиатуру. И тем более ошибочка, то не сентаксическая(!). Матирится Windows, а Delphi только укажит причину. Причина имено в этом. Я думаю, что-то не то имено в коде. Отвечающих за открытия ключа(!).
0
mss
2634 / 2258 / 276
Регистрация: 24.12.2010
Сообщений: 13,725
07.11.2012, 14:18 20
Цитата Сообщение от саша40 Посмотреть сообщение
завод изготовитель так сделал клавиатуру
Ну так прилепи жвачкой на эти кнопки соответствующие наклейки - F7 и F8, хотя бы на время отладки. Заодно им F5 окучь - это не менее нужная и важная кнопка для отладки.
Лень и это сделать ? Тогда тыкай мышом меню Run-Step Over (F8) и Run-Step Into (F7).

Сто причин найдет ведь чтобы не делать самому свою работу)


Цитата Сообщение от саша40 Посмотреть сообщение
Delphi только укажит причину
Ну вот и потрудись попросить отладчик показать тебе конкретную строчку кода - тогда и причина моментально выяснится.
0
07.11.2012, 14:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2012, 14:18

Реестр, ошибка при запуске программы: Failed to set data for "MicrosoftSystem"
пытаюсь добавить файл в реестр. при компиляции нет никаких ошибок. все...

При добавлении процедуры автозагрузки выходит ошибка "Failed to set data for 'Black'"
Приветствую уважаемые пользователи! При добавлении процедуры автозагрузки ...

Ошибка при работе в реестре: failed to set data for 'ключ реестра'
Доброе время суток. Помогите решить проблему! Вот код приложения: uses...


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

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

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