Форум: "Система";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизКак переделать или что добавить в прогу, чтобы она работала на 2000 проф. и не требовала ntdll.dll, исходники есть. Найти похожие ветки
← →
Filat (2002-01-09 13:08) [0]Привет всем. Собственно сабж, заранее благодарен.
P.S. Программу писал на вин98 и работает, но теперь надо подправить.:))
← →
Tosov (2002-01-09 16:26) [1]???
← →
Wizard_Ex (2002-01-09 17:13) [2]Поподробней плиз
← →
Filat (2002-01-09 19:43) [3]Я написал программу под вин 98. Все здорово, она работает. Теперь поставил себе 2000 проф. и при запуске программа говорит
Access violftion at adress 77F83F39 in module ntdll.dll. Write of adress 00404175. Нажимаю ОК запускается главная форма. При выходе ещё пару раз орет и выходит. Что делать?
← →
Tosov (2002-01-09 23:21) [4]Что делать?
Вероятно надо найти где ругается и поделиться кодом
← →
Filat (2002-01-10 10:17) [5]А что писать то? При компиляции ошибок не выдаёт, а при запуске из Delphi5 появляется ошибка, в окне просмотра CPU указывает на код:77F83F39 881c01 mov [ecx+eax],bl Там ещё есть окна со значениями переменных (точно не знаю, т.к. никогда надобности не было с этим работать) кое-что подсвечено крассным цветом. Вот такие дела.
← →
KSergey (2002-01-10 10:32) [6]Для начала переведите дял себя текст сообщения об ошибке. Ведь в нем говорится не о надобности в библиотеке (она-то как раз находится успешно) а о том, что при выполнении какого-то кода из нее произошло исключение "Доступ запрещен по такому-то адресу" (неверный указатель).
Штука вероятнее всего в том, что ошибка то у вас в коде была всегда, вот только Win98 ее пропускала, а WinNT, будучи более "придирчивой" ко всяким пакостям со стороны программ, ее просто так пропускать уже не желает.
Так что или разбирайтесь сами в вашем коде иницилизации (что происходит у вас при старте программы), либо код инициализации сюда. Может кто и подскажет.
К стати, возможно кривость в дополнительных компонента, если таковыми пользуетесь.
← →
limon (2002-01-10 11:28) [7]ntdll.dll программой напрямую не используется!
Подключается по мере надобности из kernel, user, gdi и прочих.
Эта длл реализует особенности ядра NT. Вышеназванные интерфейсные длл-ки перенаправляют специфические вызовы в ntdll, часто без анализа данных.
Описанная ошибка - не что иное, как прямое указание на горбатый вызов функции ядра системы. Некоторые ф-и в 98 и NT имеют разный синтаксис, либо разное значение параметров.
Так что, проверяйте внимательно код, желательно через отладчик.
← →
Filat (2002-01-10 16:41) [8]О! спасибо кое что начал понимать. Ситуация следующая, сначала появляется RxLoginDialog, Enter, и при загрузке главной формы выдаётся сообщение. Вот код:
procedure TFrm1.FormStorage1RestorePlacement(Sender: TObject);
begin
FormStorage1.IniFile.ReadString("Form","","");
end;
procedure TFrm1.FormStorage1SavePlacement(Sender: TObject);
begin
FormStorage1.IniFile.WriteString("Form","","");
end;
procedure TFrm1.SpeedItem5Click(Sender: TObject);
begin
Frm1.Close;
end;
procedure TFrm1.AppMinimize(Sender: TObject);
begin
{$IFDEF WIN32}
if NewStyleControls then ShowWindow(Application.Handle, SW_HIDE);
{$ENDIF}
end;
procedure TFrm1.RxTrayIcon1DblClick(Sender: TObject);
begin
Application.Restore;
Application.BringToFront;
end;
procedure TFrm1.WMSYSCOMMAND(var msg: TMessage);
begin
inherited;
if (Msg.wParam=SC_MINIMIZE) then Hide(Self);
end;
procedure TFrm1.HideMainForm;
begin
Application.ShowMainForm := False;
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);
end;
procedure TFrm1.Hide(Sender: TObject);
begin
HideMainForm;
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c