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

Вниз

Вылетает окно "Система выполнила недопустимую операцию..."   Найти похожие ветки 

 
И. Павел ©   (2010-02-09 09:57) [0]

Здравствуйте.
Написал 2 программки на Delphi 2005: одна содержит только кнопку и обработчик, пишущий в Caption; на форму второй поместил ADOConnection и ADOQuery. На компьютере одного пользователя первая программа запустилась, а вторая привела к ошибке: "Программа выполнила недопустимую операцию и будет закрыта...написать письмо в Майкрософт."

Подскажите, пожалуйста - что это может быть?

ADOConnection никак не настраивал, т.е. там пустая ConnectionString.

PS: пользователь является системным администратором и, видимо, устанавливал кучу всяких примочек, меняющих Windows. Так что может он просто удалил какие-нибудь компоненты системы?


 
Sergey13 ©   (2010-02-09 10:02) [1]

> [0] И. Павел ©   (09.02.10 09:57)

Говорят, что среднестатистический вопрос в игре "Что? Где? Когда?" звучит примерно так: "А для чего служит эта хреновина в нашей губернии?".
ИМХО, твой вопрос здорово это напоминает.


 
brother ©   (2010-02-09 10:05) [2]

что программы вообще должны делать?
где код?


 
Германн ©   (2010-02-09 10:05) [3]


> Написал 2 программки на Delphi 2005

Этого мало для статистического анализа. Вот двести (ну пусть не двести, так хотя бы двадцать) напишешь, тогда можно будет что-то сказать.


 
12 ©   (2010-02-09 10:09) [4]

там есть тех.подробности, что там писано?


 
И. Павел ©   (2010-02-09 10:10) [5]


> Германн ©

У пользователя не запускалась программа. Я написал несколько - выяснил, что проблема возникает, если добавить ADOConnection. У других пользователей этих проблем нет.


> brother ©

Код настоящей программы большой - программа работает с SQL SERVER. Код маленьких, наверное, приводить не нужно, там его и нет, кроме кода от vcl


 
И. Павел ©   (2010-02-09 10:23) [6]


> там есть тех.подробности, что там писано?


Вот описание ошибки:

<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="Project1.exe" FILTER="GRABMI_FILTER_PRIVACY">
   <MATCHING_FILE NAME="Project1.exe" SIZE="630272" CHECKSUM="0xBF2CE770" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" LINK_DATE="06/19/1992 22:22:17" UPTO_LINK_DATE="06/19/1992 22:22:17" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
   <MATCHING_FILE NAME="kernel32.dll" SIZE="995840" CHECKSUM="0xC3003E57" BIN_FILE_VERSION="5.1.2600.5781" BIN_PRODUCT_VERSION="5.1.2600.5781" PRODUCT_VERSION="5.1.2600.5781" FILE_DESCRIPTION="Библиотека клиента Windows NT BASE API" COMPANY_NAME="Корпорация Майкрософт" PRODUCT_NAME="Операционная система Microsoft® Windows®" FILE_VERSION="5.1.2600.5781 (xpsp_sp3_gdr.090321-1317)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Корпорация Майкрософт. Все права защищены." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xF731E" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5781" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5781" LINK_DATE="03/21/2009 14:09:06" UPTO_LINK_DATE="03/21/2009 14:09:06" VER_LANGUAGE="Русский [0x419]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
   <MATCHING_FILE NAME="kernel32.dll" SIZE="995840" CHECKSUM="0xC3003E57" BIN_FILE_VERSION="5.1.2600.5781" BIN_PRODUCT_VERSION="5.1.2600.5781" PRODUCT_VERSION="5.1.2600.5781" FILE_DESCRIPTION="Библиотека клиента Windows NT BASE API" COMPANY_NAME="Корпорация Майкрософт" PRODUCT_NAME="Операционная система Microsoft® Windows®" FILE_VERSION="5.1.2600.5781 (xpsp_sp3_gdr.090321-1317)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Корпорация Майкрософт. Все права защищены." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xF731E" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.5781" UPTO_BIN_PRODUCT_VERSION="5.1.2600.5781" LINK_DATE="03/21/2009 14:09:06" UPTO_LINK_DATE="03/21/2009 14:09:06" VER_LANGUAGE="Русский [0x419]" />
</EXE>
</DATABASE>


 
И. Павел ©   (2010-02-09 10:24) [7]

Настоящая программа использует провайдер: SQLOLEDB.1


 
Германн ©   (2010-02-09 10:31) [8]


> ADOConnection никак не настраивал, т.е. там пустая ConnectionString.
>
>


> И. Павел ©   (09.02.10 10:10) [5]
>
>
> > Германн ©
>
> У пользователя не запускалась программа. Я написал несколько
> - выяснил, что проблема возникает, если добавить ADOConnection.
>  У других пользователей этих проблем нет.
>

Я, конечно не спец. Но что делает ТADOConnection, если "там пустая ConnectionString"?


 
И. Павел ©   (2010-02-09 10:43) [9]


> Я, конечно не спец. Но что делает ТADOConnection, если "там
> пустая ConnectionString"?

Она и не должна там ничего делать - это просто тестовый пример, поэтому я ни к чему не подключился. Просто поставил ADOConnection на форму. В рабочей программе ADOConnection заполнен, но ошибка тоже вылезает.


 
12 ©   (2010-02-09 10:47) [10]

можно попробовать скачать Jcl и написать что-то вроде

procedure LogException(ExceptObj: TObject;
 ExceptAddr: Pointer; IsOS: Boolean);
var
 mmLog: TStringList;
 TmpS: String;
 ModInfo: TJclLocationInfo;
 I: Integer;
 ExceptionHandled: Boolean;
 HandlerLocation: Pointer;
 ExceptFrame: TJclExceptFrame;
begin
 if ExceptObj.ClassName = "ELicenceError" then Exit;
 mmLog := TStringList.Create;
 try
   //mmLog.Add("ExceptIntercept exception data: " + DateTimeToStr(Now));
   TmpS := " Exception " + ExceptObj.ClassName;
   if ExceptObj is Exception then
     TmpS := TmpS + ": " + Exception(ExceptObj).Message;
   if IsOS then
     TmpS := TmpS + " (OS Exception)";
   mmLog.Add(TmpS);
   ModInfo := GetLocationInfo(ExceptAddr);
   mmLog.Add(Format(
     "  Exception occured at $%p (Module "%s", Procedure "%s", Unit "%s", Line %d)",
     [ModInfo.Address,
      ModInfo.UnitName,
      ModInfo.ProcedureName,
      ModInfo.SourceName,
      ModInfo.LineNumber]));
   MessageBox(0, PChar(mmLog.Text), "Exception", MB_OK or MB_ICONWARNING);
 finally
   mmLog.Free;
 end;
end;

begin
 JclStackTrackingOptions :=  [stExceptFrame, stStack,  stRawMode, stAllModules, stStaticModuleList];
 JclStartExceptionTracking;
 JclAddExceptNotifier(LogException);
{в настройках надо включить максимум для Linker MapFile}

 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;

end.


 
И. Павел ©   (2010-02-09 10:49) [11]


> 12 ©

Спасибо, сейчас попробую.


 
12 ©   (2010-02-09 11:21) [12]

тут понятнее
http://rsdn.ru/article/Delphi/DelphiJCL.xml?print


 
И. Павел ©   (2010-02-09 14:49) [13]


> тут понятнее
> http://rsdn.ru/article/Delphi/DelphiJCL.xml?print

Спасибо.

Я, наконец, то поставил JEDI. Он выдал ошибку в модуле ComObj в функции OleError

{ Raise EOleSysError exception from an error code }

procedure OleError(ErrorCode: HResult);
begin
 raise EOleSysError.Create("", ErrorCode, 0);
end;


Но почему появилась ошибка, связанная с OLE? Ведь провайдер еще неизвестен?

Вот стек вызовов:

[0046AB0D]{Project1.exe} JclDebug.TJclStackInfoList.Create + $9D
[00457678]{Project1.exe} ComObj.OleError + $14
[0046AA1B]{Project1.exe} JclDebug.JclCreateStackList + $17
[00497AF2]{Project1.exe} Project1.LogException (Line 48, "C:\DEBUGGER_JEDI\Project1.dpr" + 21) + $6
[00457678]{Project1.exe} ComObj.OleError + $14
[00403BC4]{Project1.exe} System.@TryFinallyExit + $10
[00402496]{Project1.exe} System.SysFreeMem + $10A
[00404D4A]{Project1.exe} System.@FinalizeArray + $4A
[00404CD4]{Project1.exe} System.@FinalizeRecord + $20
[0046B45F]{Project1.exe} JclDebug.TJclExceptFrame.AnalyseExceptFrame + $1A7
[0040363B]{Project1.exe} System.@AfterConstruction + $7
[0046B29D]{Project1.exe} JclDebug.TJclExceptFrame.Create + $3D
[0042B7E9]{Project1.exe} Contnrs.TObjectList.Notify + $21
[0040346A]{Project1.exe} System.@IsClass + $E
[0041CFC8]{Project1.exe} Classes.TThreadList.UnlockList + $4
[0046A65E]{Project1.exe} JclDebug.TJclGlobalStackList.FindObject + $9A
[00457678]{Project1.exe} ComObj.OleError + $14
[0041C99A]{Project1.exe} Classes.TList.Add + $2A
[0041CFC8]{Project1.exe} Classes.TThreadList.UnlockList + $4
[0046A5B0]{Project1.exe} JclDebug.TJclGlobalStackList.AddObject + $74
[00457678]{Project1.exe} ComObj.OleError + $14
[00465A03]{Project1.exe} JclHookExcept.TNotifierItem.DoNotify + $13
[00465B08]{Project1.exe} JclHookExcept.DoExceptNotify + $CC
[00457678]{Project1.exe} ComObj.OleError + $14
[00465BA3]{Project1.exe} JclHookExcept.HookedRaiseException + $3F
[00457678]{Project1.exe} ComObj.OleError + $14
[00457690]{Project1.exe} ComObj.OleCheck + $10
[0048AB6D]{Project1.exe} ADODB.CreateADOObject + $49
[0048B3F6]{Project1.exe} ADODB.TADOConnection.Create + $3A
[004209CD]{Project1.exe} Classes.CreateComponent + $AD
[00420BFC]{Project1.exe} Classes.TReader.ReadComponent + $88
[00422004]{Project1.exe} Classes.TReader.ReadValue + $8
[00420EA9]{Project1.exe} Classes.TReader.ReadDataInner + $89
[00420DE8]{Project1.exe} Classes.TReader.ReadData + $38
[0042318D]{Project1.exe} Classes.TComponent.ReadState + $1
[0043520D]{Project1.exe} Controls.TControl.ReadState + $2D
[004384DD]{Project1.exe} Controls.TWinControl.ReadState + $25
[0044DF5D]{Project1.exe} Forms.TCustomForm.ReadState + $59
[00421BE9]{Project1.exe} Classes.TReader.ReadRootComponent + $1D5
[0041F38E]{Project1.exe} Classes.TStream.ReadComponent + $32
[0041C6D3]{Project1.exe} Classes.InternalReadComponentRes + $57
[0041C85D]{Project1.exe} Classes.InitComponent + $79
[7C911023]{ntdll.dll   } Unknown function at wcsncpy + $AA4
[7C9101D6]{ntdll.dll   } RtlAllocateHeap + $112
[7E37DEEC]{user32.dll  } SystemParametersInfoA + $3A
[7C9101D6]{ntdll.dll   } RtlAllocateHeap + $112
[7C9114D1]{ntdll.dll   } Unknown function at RtlDeleteCriticalSection + $157
[7C91150F]{ntdll.dll   } Unknown function at RtlDeleteCriticalSection + $195
[7C9114E5]{ntdll.dll   } Unknown function at RtlDeleteCriticalSection + $16B
[7E37DEEC]{user32.dll  } SystemParametersInfoA + $3A
[7E37DF01]{user32.dll  } SystemParametersInfoA + $4F
[00403BC4]{Project1.exe} System.@TryFinallyExit + $10
[00402346]{Project1.exe} System.SysGetMem + $14A
[0040327B]{Project1.exe} System.TObject.NewInstance + $13
[004035E3]{Project1.exe} System.@ClassCreate + $7
[0040363B]{Project1.exe} System.@AfterConstruction + $7
[004032B0]{Project1.exe} System.TObject.Create + $10
[0041C8EE]{Project1.exe} Classes.InitInheritedComponent + $62
[0044D8F5]{Project1.exe} Forms.TCustomForm.Create + $A1
[774EF34E]{ole32.dll   } Unknown function at CoInitializeEx + $3D3
[774EF4CE]{ole32.dll   } Unknown function at CoInitializeEx + $553
[774ED6C6]{ole32.dll   } Unknown function at IsValidInterface + $28D
[774ED7E9]{ole32.dll   } Unknown function at IsValidInterface + $3B0
[774ED220]{ole32.dll   } Unknown function at CoTaskMemAlloc + $1C0
[774ED1E9]{ole32.dll   } Unknown function at CoTaskMemAlloc + $189
[774EF5EC]{ole32.dll   } Unknown function at CoInitializeEx + $671
[77502D78]{ole32.dll   } Unknown function at CoGetTreatAsClass + $1897
[00403BC4]{Project1.exe} System.@TryFinallyExit + $10
[00402346]{Project1.exe} System.SysGetMem + $14A
[0045504D]{Project1.exe} Forms.TApplication.CreateForm + $31
[00498067]{Project1.exe} Project1.Project1 (Line 73, "C:\DEBUGGER_JEDI\Project1.dpr" + 7) + $13
[7C90DCB8]{ntdll.dll   } ZwSetInformationThread + $A
[7C817074]{kernel32.dll} Unknown function at RegisterWaitForInputIdle + $46

Насколько я понимаю, ошибки пошли после Project1.LogException. Но что это значит? Пожалуйста, подскажите.


 
И. Павел ©   (2010-02-09 14:52) [14]


> [0046AB0D]{Project1.exe} JclDebug.TJclStackInfoList.Create
> + $9D
> [00457678]{Project1.exe} ComObj.OleError + $14


Получается, что сам JclDebug.TJclStackInfoList.Create  привел к ошибке?


 
12 ©   (2010-02-09 15:00) [15]

ИМХО,

CoInitialize - тут скорее всего что-то
попробуйте тут почитать
http://www.interface.ru/fset.asp?Url=/borland/decom_3.htm


 
Ega23 ©   (2010-02-09 15:02) [16]

А ADO-то хоть на машине установлено? А версия?


 
12 ©   (2010-02-09 15:41) [17]

так чего то показывает ?

program Project1;

uses
 Dialogs,
 SysUtils,
 Forms,
 Unit1 in "Unit1.pas" {Form1},
 comobj;

{$R *.res}

begin
 showmessage (inttostr(CoInitializeEX(nil,2) ));
-- showmessage (inttostr(CoInitializeEX(nil,0) ));
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


 
И. Павел ©   (2010-02-09 15:56) [18]


>Ega23 ©

Вроде бы был установлен, но на всякий случай заставил поставить MDAC 2.7 - все равно та же ошибка...


> 12 ©

Сейчас попробую, если админ еще не ушел. А что делает CoInitializeEX?


 
И. Павел ©   (2010-02-09 16:03) [19]


> 12 ©

И у меня и у пользователя выводит "0"


 
И. Павел ©   (2010-02-09 16:04) [20]

Администратор сказал, что установил в Windows все офоциальные обновления для всего. Выходит это вредно :)


 
12 ©   (2010-02-09 16:10) [21]

ну а после CoInit(и так и так), с той же ошибкой вылетат?

чего делает? инициализирует :)
Может как не так как инициализировалось
Если, например, в рантайме создавать ado в консольных - надо вручную вызывать


 
И. Павел ©   (2010-02-09 16:13) [22]


> ну а после CoInit(и так и так), с той же ошибкой вылетат?

Да. После инициализации та же ошибка.


 
Игорь Шевченко ©   (2010-02-11 13:27) [23]

ошибка здесь
ADODB.CreateADOObject
для тестирования существует такая полезная вещь, как отладчик.
сообщение об ошибке, которую предлагается отправить в MS тоже желательно приводить.


> Но почему появилась ошибка, связанная с OLE?


потому что ADO


 
И. Павел ©   (2010-02-11 13:44) [24]


> для тестирования существует такая полезная вещь, как отладчик.

У пользователя не установлен Delphi.


> сообщение об ошибке, которую предлагается отправить в MS
> тоже желательно приводить.

Написано как всегда: программа выполнила недопустимую операцию и будет закрыта. Есть еще дамп. А самого текста ошибки я не нашел.


 
Игорь Шевченко ©   (2010-02-11 14:01) [25]


> Написал 2 программки на Delphi 2005: одна содержит только
> кнопку и обработчик, пишущий в Caption; на форму второй
> поместил ADOConnection и ADOQuery. На компьютере одного
> пользователя первая программа запустилась, а вторая привела
> к ошибке: "Программа выполнила недопустимую операцию и будет
> закрыта...написать письмо в Майкрософт."


> У пользователя не установлен Delphi.


Как прикажешь тебя понимать ?


> Написано как всегда: программа выполнила недопустимую операцию
> и будет закрыта. Есть еще дамп. А самого текста ошибки я
> не нашел


В окне с предложением отправки есть ссылка: Просмотр сведений или как-то так. Там есть фактическое описание "недопустимой операции" и где именно она стряслась.


 
И. Павел ©   (2010-02-11 14:39) [26]

Извиняюсь, но он уже переустановил Windows и ошибка пропала :)


 
Дмитрий Белькевич   (2010-02-11 17:14) [27]


> Извиняюсь, но он уже переустановил Windows и ошибка пропала
> :)


Ошибка не пропала.


 
Дмитрий Белькевич   (2010-02-11 17:19) [28]

По хорошему, если это даже ошибка установки ADO, то нужно её отследить и показать юзеру вместо "Система выполнила недопустимую операцию".


 
И. Павел ©   (2010-02-11 19:40) [29]


> По хорошему, если это даже ошибка установки ADO, то нужно
> её отследить

А заедающие клавиши на клавиатуре мне тоже отслеживать?

По хорошему нужно, чтобы компьютер системного администратора был не миной замедленного действия, а аккуратным рабочим местом. Раньше я был не в курсе, но мне уже сказали, что это не первый случай проблем с программами на этом компьютере.

Сейчас мои программы, использующие ADOConnection, стоят где-то у 100-150 пользователей - эта системная ошибка - единственная.

Начальство сказало мне заниматься этой ошибкой недолго, в перерыве между задачами. А я провозился целый вчерашний день. Утром я уже написал отчет, порекомендовав переустановить Windows (начисто). ИМХО это самый простой и гарантированно решающий проблему путь. Если лень переустанавливать OC - попросите, чтобы начальство выделило мне задачу на поиск того, что вы удалили/заменили в системе. Но я сомневаюсь, что они разрешат мне этим заниматься.


 
Дмитрий Белькевич   (2010-02-11 23:46) [30]


> А заедающие клавиши на клавиатуре мне тоже отслеживать?


Это задача операционки. Могла бы.


> Начальство сказало мне заниматься этой ошибкой недолго,
> в перерыве между задачами.


Отсутствие начальства - определённо большой плюс при разработке.


>  А я провозился целый вчерашний день.


Объективно работы на час. Стёк процедур снимается элементарно. Инструментов знаю, как минимум, три. EOleSysError можно отловить и написать что-то вразумительное. Что бы не доводить до исключения
можно попробовать проверить OLE сервер:


function CheckClass(ClassID: TGUID): Boolean;
var
Res: HResult;
begin
Result := CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IUnknown, Res) = S_OK;
end;



> Если лень переустанавливать OC


Откуда юзеру знать, что проблема именно в операциоке, а не в твоём софте?


> Администратор сказал, что установил в Windows все офоциальные
> обновления для всего. Выходит это вредно :)


Выходит ты - ламер :)


 
Дмитрий Белькевич   (2010-02-12 00:15) [31]

Типичная черта ламера - виноваты все, кроме самого себя - начальство, юзеры, админы, винда, апдейты, Гейтс, Белькевич.


 
Германн ©   (2010-02-12 01:08) [32]


> Дмитрий Белькевич   (12.02.10 00:15) [31]

Почетно встать в один ряд? :)


 
Дмитрий Белькевич   (2010-02-12 01:22) [33]

>Почетно встать в один ряд? :)

Дык :)


 
KilkennyCat ©   (2010-02-12 01:31) [34]

Насколько я помню из своего маленького и печального опыта работы с олеадо, то там надо очень внимательно относиться к mdac и прочему... Я не писал софт, использующих это, но устанавливал. И бывало так, что одной нужно одной версии, а другой хоть убейся, но более старой. И приплыли - две софтины вместе не живут.


 
Германн ©   (2010-02-12 01:51) [35]


> И бывало так, что одной нужно одной версии, а другой хоть
> убейся, но более старой. И приплыли - две софтины вместе
> не живут.

С ADO мало знаком. Но такие случаи встречал в других областях.


 
Дмитрий Белькевич   (2010-02-12 02:19) [36]


>  И приплыли - две софтины вместе не живут.


У нас две версии софта вместе не живут из-за того, что с одной из библиотек работаем через OLE (StarBurn - грубо - бурнер оптических дисков). У библиотек разные лицензионные ключи, но одинаковые GUID"ы интерфейсов. В разные версии нашей программы вшиты разные лицензионные ключи (в зависимости от того, с какой дллкой распространяется версия). Проблема происходит так. В системе регистрируется одна из библиотек (дллка). Другая программа пытается открыть зарегистрированный сервер-библиотеку из каталога программы другой версии и, естественно, ничего хорошего из этого не выходит - лицензия не подходит. Даже не знаю, что тут больше виновато - OLE или реализация.


 
Дмитрий Белькевич   (2010-02-12 02:20) [37]

>Даже не знаю, что тут больше виновато - OLE или реализация.

Ну и что бы не уподобляться топикстартеру - или свои руки. Возможно, как-то можно обойти. Пока не придумал.


 
И. Павел ©   (2010-02-12 09:27) [38]


> Это задача операционки.

Хорошо что сообщение - первое из длинной череды полуночных излияний. Сразу настраиваешься на соответствующее восприятие остальных высказываний.

А вдруг даже расширенных специальных возможностей окажется мало? Как пользователь поймет, что виновата операционка/аппаратура - это тоже нужно обрабатывать в программе. Писать функции:
HaveKroshka()
HaveBigKroshka()
ThereIsntEnter()
StartAfterEatingMode()
Иначе вас могут обвинить в лузерстве :).


> и написать что-то вразумительное.

Зачем нужно не доводить до исключения? Если ошибка связана с комплектацией OC - должно быть выведено системное сообщение с возможностью отправки дампа и прочей информации в Microsoft.

Кроме EOleSysError в vcl много исключений - дерзайте.

PS:Вы вообще имеете какое-то отношение к нашему предприятию? Если нет - откуда уверенность, что ошибка не исчезает после переустановки?


 
Дмитрий Белькевич   (2010-02-12 12:38) [39]

Одно из моих правил: не спорь с дураком. Люди со стороны могут не заметить разницы. От дальнейших комментариев воздержусь. Всё уже сказано.


 
И. Павел ©   (2010-02-12 13:00) [40]


> Одно из моих правил: не спорь с дураком

Ну а человек, говорящий гадости за глаза/виртуально (чтобы услышали люди "со стороны") - трус. Переход на личности в споре, который вы же и начали - не признак ума.



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

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

Наверх




Память: 0.58 MB
Время: 0.069 c
2-1267322500
RWolf
2010-02-28 05:01
2010.08.27
TControlBar: как запретить вертикальное перемещение тулбаров


2-1269205855
AntonioBanderas
2010-03-22 00:10
2010.08.27
Роли FireBird(2.1.3)


15-1264628812
Алексей111
2010-01-28 00:46
2010.08.27
пуассоновский поток


15-1264341586
Kolan
2010-01-24 16:59
2010.08.27
Исходники DMClient а доступны для всех желающих


2-1266306224
Den
2010-02-16 10:43
2010.08.27
Как прочитать логи?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский