Компания Borland(TM) выпустила новую линейку продуктов TURBO: Turbo Delphi, Turbo Delphi for .NET, Turbo C++ и Turbo C#.
http://www.borland.com/downloads/download_turbo.html
http://www.turboexplorer.com/
Всего в теме 540 сообщений
Добавить свое сообщение
Отслеживать это обсуждение 
№ 310 05-10-2006 03:41 |  |
Созвучная мне ссылка "почему не перехожу с D5-7 на BDS".
И на 192Mb и на 2Gb :) Вошёл в резонанс практически со
всеми постами. Только они не анализируют почему так
случилось, что новая BDS хуже (или не лучше) D7.
IMHO:
Inprise напридумывала как бы выгодный бизнес софтовой
поддержки корпораций, а приглядеться - ничего нового.
Да и место уже другие софтовые монстры застолбили.
Без интеллекта и авторитета прежних наработок ранней
Борланд все эти ALM, SDO, LQM - бумажный дракон и, боюсь,
это стало очевидно администрации при всём её менагерстве.
Теперь: "мой муж подлец, отдайте мужа!".
То продажа в апреле, то в октябре. А "уж роща отряхает
последний лист с нагих своих ветвей".
Свежие идеи творцы DevCo менагерам Inprise нести не хотят,
(вот и питается компания тухлятиной), а наработанное унести
им не дадут по Праву на интеллектуальную собственность
эпохи мануфактур. Наняли криворуких штрейкбрейхеров.
Поэтому тупиковая ситуация с Дельфи устойчива.
Как я хочу ошибиться в прогнозе!
От евангелистов Delphi требуется резкий и неординарный ход
вплоть до судебного разбирательства и скандала.
№ 309 05-10-2006 00:14 |  |
Ответ на »сообщение 307« (Cepгей Poщин)
___________________________
Как-то в прошлом году я был обнаружил в Indy 10 небольшую ошибку, связанную с неправильной обработкой кукис. Написал им письмо в ньюсгруп. Уже через пару часов там был ответ, а на следующий день исправление появилось в текущей версии библиотеки (они ежесуточно ее обновляют).
№ 308 04-10-2006 23:57 |  |
№ 307 04-10-2006 08:07 |  |
Ответ на »сообщение 306« (panda)
___________________________
Status: Reported
Если красная шкала означает количество голосов, необходимое для перевода в статус "Open", то там уже 5.0. По-моему это делается не автоматически напр. http://qc.borland.com/wc/qcmain.aspx?d=2980 в статусе Open, хотя кол-во глосов 4.
Правда дата добавления:11/23/2002. И нам не долго ждать осталось :(
Возможно, если голосуют разные люди, то это может повысить значимость
№ 306 04-10-2006 07:42 |  |
№ 305 04-10-2006 07:25 |  |
№ 304 04-10-2006 07:13 |  |
Ответ на »сообщение 303« (DRON)
___________________________
Нашел. Это Delphi 7 Update 1 (Build 8.1). Потом такой же кривой код перекочевал в BDS2005, BDS2006 и TD.
Т.е. конкретно Turbo Delphi ни в чем не виновата, но переход на нее с Delphi 7 неприятно поразил.
№ 303 04-10-2006 06:24 |  |
Ответ на »сообщение 302« (panda)
___________________________
Я фигею дорогие товарищи... Тот исходник что привёл panda взят из оригинального Delphi7, а вот во что он превращается после апдейта (какого именно не скажу): procedure TSQLConnection.SQLError(OpStatus: SQLResult; eType: TSQLExceptionType; const Command: ISQLCommand = nil);
var
dbxErrorMsg, ServerErrorMsg, ExceptionMessage: string;
Message: PChar;
Status: SQLResult;
MessageLen: SmallInt;
begin
dbxErrorMsg := '';
ServerErrorMsg := '';
ExceptionMessage := '';
Status := SQL_NULL_DATA;
Message := nil;
if (OpStatus > 0) and (OpStatus <= DBX_MAXSTATICERRORS) then
begin
if OpStatus = 64 then dbxErrorMsg := Format(SDBXError, [SqlConst.SNODATA])
else if OpStatus = 65 then dbxErrorMsg := Format(SDBXError, [SqlConst.SSQLERROR])
else dbxErrorMsg := Format(SDBXError, [DbxError[OpStatus]]);
end;
case eType of
exceptCommand:
begin
Status := Command.getErrorMessageLen(MessageLen);
if (Status = DBXERR_NONE) and (MessageLen > 0) then
begin
Message := AllocMem(MessageLen + 1);
Status := Command.getErrorMessage(Message);
end;
end;
exceptConnection:
begin
Status := FISQLConnection.getErrorMessageLen(MessageLen);
if (Status = DBXERR_NONE) and (MessageLen > 0) then
begin
Message := AllocMem(MessageLen + 1);
Status := FISQLConnection.getErrorMessage(Message);
end;
end;
exceptMetaData:
begin
Status := FSQLMetaData.getErrorMessageLen(MessageLen);
if (Status = DBXERR_NONE) and (MessageLen> 0) then
begin
Message := AllocMem(MessageLen + 1);
Status := FSQLMetaData.getErrorMessage(Message);
end;
end;
end;
if Status = DBXERR_NONE then
if MessageLen > 0 then
ServerErrorMsg := Format(SSQLServerError, [Message]);
if Assigned(Message) then
FreeMem(Message);
if Length(dbxErrorMsg) > 0 then
ExceptionMessage := dbxErrorMsg;
if Length(ServerErrorMsg) > 0 then
begin
if Length(ExceptionMessage) > 0 then
ExceptionMessage := ExceptionMessage + #13 + #10;
ExceptionMessage := ExceptionMessage + ServerErrorMsg;
end;
if (Length(ExceptionMessage) = 0) and (LastError <> '') then
ExceptionMessage := LastError;
if Length(ExceptionMessage) = 0 then
ExceptionMessage := Format(SDBXUNKNOWNERROR, [intToStr(OpStatus)]);
FLastError := ExceptionMessage;
DatabaseError(ExceptionMessage);
end;
Как видим никаких else, потому и падает. Эта функция была сильно перелопачена ( http://dron.info/Files/sqlexpr.rar) причём явно не тем кто знал все тонкости, таким образом пропало else и возможно что-то ещё. А в Turbo просто избавились от AllocMem немного упростив функцию.
№ 302 04-10-2006 05:34 |  |
Ответ на »сообщение 300« (DRON)
___________________________
Согласно моему исходнику SqlExpr в Delphi 7 Ваш EXE падает на строке 1689.
exceptMetaData:
begin
Status := FSQLMetaData.getErrorMessageLen(MessageLen);
if (Status = SQL_SUCCESS) and (MessageLen> 0) then
begin
Message := AllocMem(MessageLen + 1);
Status := FSQLMetaData.getErrorMessage(Message);
end;
end;
№ 301 04-10-2006 05:29 |  |
Ответ на »сообщение 300« (DRON)
___________________________
Не может ошибка происходить в том же месте. Вот фрагмент из Delphi 7:
procedure TSQLConnection.SQLError(OpStatus: SQLResult;
eType: TSQLExceptionType; const Command: ISQLCommand = nil);
var
...
begin
Status := SQL_NULL_DATA;
ExceptionMessage := SErrorMappingError;
Message := nil;
if (OpStatus > 0) and (OpStatus <= DBX_MAXSTATICERRORS) then
ExceptionMessage := DbxError[ OpStatus ]
else if (OpStatus > 0) and (OpStatus < MaxReservedStaticErrors) then
ExceptionMessage := SDBXUNKNOWNERROR
else
begin
case eType of
...
exceptConnection:
begin
Status := FISQLConnection.getErrorMessageLen(MessageLen);
if (Status = SQL_SUCCESS) and (MessageLen > 0) then
begin
Message := AllocMem(MessageLen + 1);
Status := FISQLConnection.getErrorMessage(Message);
end;
end;
...
end;
...
end;
FLastError := ExceptionMessage;
DatabaseError(ExceptionMessage);
end;
При ошибке отсутствия лицензии OpStatus=$12 и обращения к FISQLConnection не происходит.
Как у Вас при этом дебаггер показывает выполнение?
PS. Delphi 7.0 build 4.453.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|