-
Исходя из текста статьи
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=706я сделал все как там написано. Но приложение у меня не запускается - на Windows XP вылетает, на Server 2003 - просто не стартует.
Быть может, кто-нибудь поделится опытом развертывания приложений на dbExpress на машины, где никогда не было Delphi?
-
Стоит рассказать, что именно Вы используете из DBExpress, что именно сделали из рекомендованной ссылки.
Бывает, в процессе рассказа приходит понимание.
-
> на Windows XP вылетает
с каким текстом?
-
> поделится опытом развертывания приложений на dbExpress
там и разворачивать нечего
dbExpress-драйвер для твоей СУБД + клиент это СУБД
ну,и твоя прога
все!
-
Используется SQLConnect, SQLDataSet - все.
Вылетает безо всяких текстов - "сообщить microsoft об ошибке"
По поводу ответа Васи не понял.
-
> Вылетает безо всяких текстов - "сообщить microsoft об ошибке"
текст внутри
> По поводу ответа Васи не понял.
что именно не понял?
-
-
ApplicationEvents на форму, onException
procedure TfrmMain.ApplicationEvents1Exception(Sender: TObject; E: Exception);
var
c:tComponent;
s:string;
p,p2:pointer;
buf:array[1..100] of byte;
j,i:integer;
procedure WriteToLog(const StrToLog:string);
var
f:textfile;
sTmp:string;
begin
if ProtocolMode=0 then exit;
try
sTmp:=ChangeFileExt(ExtractFileName(ParamStr(0)),'.log');
assignfile(f,sTmp);
if FileExists(sTmp)
then Reset(f)
else ReWrite(f);
Append(f);
WriteLn(f,'DateTime: '+DateTimeToStr(now)+' '+StrToLog);//+' '+ExtractFileName(GetModuleFileNameStr(Hinstance)));
Flush(f);
CloseFile(f);
except
end;
end;
begin
c:=nil;
s:=#13#10;
p2:=addr(buf);
p:=ExceptAddr;
CopyMemory(p2,p,100);
s:=s+'Exception at '+Format('%p',[ExceptAddr])+#13#10;
s:=s+'первые 100 байт по этому адресу:'+#13#10;
for j := 0 to 9 do
begin
for I := 1 to 10 do s:=s+inttohex(buf[i+j*10],2)+' ';
s:=s+#13#10;
end;
s:=s+'Sender: '+Sender.ClassName;
if (sender is tComponent) then c:=sender as tComponent;
while c.Owner is tComponent do
begin
s:=s+' размер в памяти: '+inttostr(c.InstanceSize)+#13#10;
s:=s+'владелец: '+c.owner.ClassName;
c:=c.Owner;
end;
s:=s+' размер в памяти: '+inttostr(c.InstanceSize)+#13#10;
s:=s+'КлассОшибки:'+e.ClassName+#13#10+'ТекстОшибки:'+e.Message+#13#10;
WriteToLog(s);
end;
запускать под XP
что в файлике?
-
Файлик не создается. Вообще.
-
Была у меня хрень, когда на некоторых XP-машинах приложение под D7 вылетало на фик. Не поборол, да и не особо...
Просто переустановили XP.
-
36 машин. Ни на одной кроме моей не установлен Delphi.
Ни на одной из них, кроме моей, приложение не стартует.
ЗЫ: Delphi 2009
-
Ну так начни с пустой формы :)
-
Самый лучший ответ :-D
А если серьезно - почему тогда приложение, написанное на IBDataSet, работает с подложенной gds32.dll и не вылетает, а эта вылетает?
-
Да кто, кроме тебя же разобрать может ?
И вообще, совместимость сейчас не в фаворе :(
-
а в проекте если, что получим?
try
WriteToLog('START');
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
WriteToLog('NumeroQuattro END');
except
on E:Exception do WriteToLog('-= error: '+E.message);
end;
-
есть подозрение на midas.dll неверной версии
-
Vlad, 1 строчка, код ошибки 0 (ошибки типа нету)
-
midas.dll и прочие библиотеки брал из %BDSDIR%\bin
-
а если uses MidasLib написать везде?
-
-
> на Server 2003 - просто не стартует
приложение не имеет цифровой подписи, а в политике стоит запрет запуска таких
-
Вася, я в своих серверах наверное лучше разбираюсь. QIP даже запускается.
Vlad, попробую... uses MidasLib итак написано.
-
> я в своих серверах наверное лучше разбираюсь
тогда разберись, что в системном журнале появляется после запуска (простите, попытки) твоего приложения
и нафига тогда тебе midas.dll, если уже Midaslib используется? или методом тыка?
-
[DCC Error] JclConsole.pas(1244): E2010 Incompatible types: 'Char' and 'AnsiChar'
и куча варнингов. Т.е. не помогло.
\\
ЗЫ: Использовать сторонние компоненты крайне нежелательно... а JVCL вообще не компилируется на Tiburon'е
-
В журнале событий тоже самое, что во вложениях выше, только "бантик сбоку".
Просто я пробовал оба варианта. Оба не работают.
-
UP
Проблема не решена :(