Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder разных версий

Модерирует : ShIvADeSt

ShIvADeSt (26-06-2017 02:39): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=14667
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение раздела http://forum.ru-board.com/topic.cgi?forum=33&topic=6607&start=0  
Ссылки приветствуются.

См. также:

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 07:33 20-06-2007 | Исправлено: XPerformer, 14:41 24-10-2013
V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lodyr

Цитата:
Нет, это глюк. Это происходит, когда из базы удаляешь много  

Что бы это было глюком в документации дожно быть сказано, что записи добавляются в конец таблицы. В документации по Абсолюту этой фразы Вы не найдете, более того описаны ряд функций которые говорят о бесполезности хранения номера записи, например, Pack.
Допускаю еще вариант, что я Вас не понял и мы имеев в виду два разных понятия под словом номер записи.

Цитата:
онечно решил, но в том то и дело, что НЕ с помощью индекса. Я ведь писал, что в задачу входило идти по прошлой Истории (т.е. выбирать формулы в строгой последовательности, как было до очередного шага итерации)  

Что-то слишком запутано...
У меня бы было поле НомерИтерации, которое былобы проиндексировано и которое возможно было бы даже первичным ключем, при этом никакой номер записи не нужен, более того введя поле НомерОперации можно запросто организовать деревовидную структуру. При таком подходе можно востановить историю операций, проиграть ее заново или проводить отмену отменить (undo)
Возможно я не понимаю стоящих перед Вами задач.

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 22:11 08-10-2009
Supap1ex



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Знатоки абсолютдб подскажите - есть следующая проблема... может что не так делаю ...
 
---------------------------------------
Кратко.
 
есть  
 
db - TABSDatabase
dq - TABSQuery
 
serv - Indy HTTP server
 
В базе учетные записи юзеров...
----------------------------------------
При поступлении запроса на serv - автоматически создается и поддерживается sessionid
Если юзер логинится - sessionid записывается в базу для этого юзера иначе в этом поле стоит logout...
 
После запроса - происходит следующее
 
with dq do  
begin
SQL.Text:='SELECT uid from users where status=sessionid';
Open;
end;
 
if (dq.isempty) then answer:='noauth' else answer:='auth';
 
и дается ответ клиенту (через инди компонент)
 
--------------------------------------------------------
 
В принципе все работает нормально, но...
 
вопрос 1
 
Запустил WebServer Stress Tool - который генерит кучу запросов к серву  
 
Если из обработки убрать обращение к базе тест проходит нормально....
Если не убирать - начинают вылетать разные ошибки (типа попытка прочитать не доступную память). Уменьшая значения кол-ва и частоты запросов можно снизить частоту выпадения ошибок но не убрать совсем...
 
вопрос 2  
 
При длительной работе в нормальном режиме - работает несколько часов - потом с переменным успехом начинают вылетать разные ошибки (опять про память которая не может быть реад) при этом сервер работает дальше и обрабатывает запросы...  
 
 
Итого - что не учтено в процессе работы с БД - может нужно что то периодически вызывать для очистки памяти (такое впечатление что возникает переполнение памяти)?
 
Возможно я что то кардинально  не так делаю - подскажите как это можно реализовать по другому...
 
 
-------------------------
 
в догонку
 
запись (вставка, апдейт) делаю так
 
with dq do  
begin
SQL.Text:='INSERT INTO users ('username','password') VALUES ('aaa','asss')';
ExecSQL;
end;
 
 
---------------------------------------------
Делал такое же на Accuracer примерно та же хрень... при большом кол-ве одновременных запросов (в пределах указанного кол-ва коннектов в параметрах базы) также вылетает с ошибками ...
 
 
 
 
 

Всего записей: 257 | Зарегистр. 30-07-2003 | Отправлено: 23:14 08-10-2009 | Исправлено: Supap1ex, 23:21 08-10-2009
V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Supap1ex
По обрезкам судить сложно, например после обработки запрос закрываешь или нет, с транзакциями работаешь или нет, количество подключений какое, и как происходит вызов в одном потоке или нет. Лучше сделать маленькую тестовую программку и выложить.

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 02:26 09-10-2009
Supap1ex



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Лучше сделать маленькую тестовую программку и выложить.

 
Вот минимальный вариант... (Д2007) (сервер запускается на 88 порту, база в комплекте)
 
http://rapidshare.com/files/290577389/test.rar.htm
 
Это если протестить...
h--p://www.realthinclient.com/forum/files/RTCWebStressTool.zip?sid=
 
 
 
----------------------------------------------------------------------------------------------------------------

Код:
unit testserv;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ABSMain, DB, IdBaseComponent, IdComponent, IdCustomTCPServer,
  IdCustomHTTPServer, IdHTTPServer, IdContext;
type
  TForm3 = class(TForm)
    server: TIdHTTPServer;
    dbq: TABSQuery;
    db: TABSDatabase;
    procedure serverCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
 
implementation
 
{$R *.dfm}
 
procedure TForm3.serverCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
if (ARequestInfo.Document='/test') then
begin
  with dbq do begin
    Close;
    SQL.Text:='SELECT username, status from users where uid=1';
    Open;
  end;
  AresponseInfo.ContentText:=dbq['username']+' : '+dbq['status'];
end else begin
AresponseInfo.ContentText:=ARequestInfo.Document;
end;
end;
end.
 
  object server: TIdHTTPServer
    Active = True
    Bindings = <>
    DefaultPort = 88
    MaxConnections = 500
    AutoStartSession = True
    KeepAlive = True
    ServerSoftware = 'test'
    SessionState = True
    SessionTimeOut = 30000
    OnCommandGet = serverCommandGet
    Left = 328
  end
  object dbq: TABSQuery
    CurrentVersion = '6.02 '
    DatabaseName = 'users'
    SessionName = 'Default'
    InMemory = False
    ReadOnly = False
    Left = 264
  end
  object db: TABSDatabase
    Connected = True
    CurrentVersion = '6.02 '
    DatabaseFileName = 'test.data'
    DatabaseName = 'users'
    Exclusive = False
    HandleShared = True
    MaxConnections = 500
    MultiUser = True
    SessionName = 'Default'
    SilentMode = True
    Left = 296
  end

Всего записей: 257 | Зарегистр. 30-07-2003 | Отправлено: 10:31 09-10-2009 | Исправлено: Supap1ex, 14:43 09-10-2009
Simple7

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andryshok
Привет!
спросить бы два вопроса?
ICQ#: 57990269

Всего записей: 1 | Зарегистр. 09-10-2009 | Отправлено: 11:46 09-10-2009
MGAlex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
Компонент RxCheckListBox глючит со страшной силой. Такое было в D2009 и D2010. При нажатии в Object Inspector на Items выскакивают следующие ошибки:
http://i045.radikal.ru/0910/ce/e30d0d2d8608.jpg
 
http://s39.radikal.ru/i085/0910/cc/b84483e79e7b.jpg
 
После этого открывается окно, где можно добавлять строки.
Но если нажать кнопку Add strings, то снова ошибки подобные выскакивают и окно не открывается.
 
ОС WinXP SP3

Всего записей: 1885 | Зарегистр. 12-10-2007 | Отправлено: 16:24 09-10-2009 | Исправлено: MGAlex, 20:38 09-10-2009
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Когда-то (еще под Delphi 5) использовал замечательный бесплатный компонент pReport от VTKTools. Сайт разработчиков молчит. Ни у кого не завалялось исходников - хочу под Delphi 2007 попробовать компильнуть.

Вот уж не стал бы связываться с этим репортом. В свое время намучались с ним. Лучше на FastReport перебегайте.

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 17:37 09-10-2009 | Исправлено: salexn1, 17:38 09-10-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MGAlex
Ухты, и правда. Что ж молчали? Посмотрю на досуге

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 19:04 09-10-2009
MGAlex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я писал об этом еще в январе, правда, не здесь, а на торрентс.ру.
Такой же компонент из JVCL (JvCheckListBox ) работает нормально.
 
И, кстати, не очень удобно, что были переименованы отдельные модули RxLib. Например, ToolEdit в rxToolEdit, Placemnt в rxPlacemnt, CurrEdit в rxCurrEdit и т.д. В старых проектах приходится везде исправлять.

Всего записей: 1885 | Зарегистр. 12-10-2007 | Отправлено: 20:40 09-10-2009 | Исправлено: MGAlex, 20:57 09-10-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MGAlex
Значит на торрентс.ру мы не пересеклись, потому что я сейчас первый раз об этом услышал... И эта грабля и префикс rx в имени модулей взялись не по моей прихоти - просто на момент, когда я взялся за портацию на Дельфи 2009 существовало несколько вариантов уже прежде портированной библиотеки - я взял за основу ту, что была посвежее. Может это и не правильно, но что зделано, то сделано.

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 21:28 09-10-2009
MGAlex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
psa1974
Ну это не особая проблема. Можно модули переименовать или в проектах внести изменения.  Просто слегка неудобно. Хотя, RxLib уже в тени Jedi VCL.  
Rx, пожалуй, немного удобнее тем, что в ней гораздо меньше компонентов и быстрее можно найти нужный компонент.

Всего записей: 1885 | Зарегистр. 12-10-2007 | Отправлено: 22:43 09-10-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MGAlex

Цитата:
RxLib уже в тени Jedi VCL. Rx, пожалуй, немного удобнее тем, что в ней гораздо меньше компонентов и быстрее можно найти нужный компонент

Сам поставил вопрос и сам ответил Ну и собственно факт: несмотря на то что Jedi VCL давным давно поглотил RxLib, сам RxLib по-прежнему востребован.
 
Итак:
1. берем файлы здесь: http://rapidshare.com/files/290800302/rxCheckItm.rar и заменяем ими одноименные файлы в папке RX\Units\  
2. Перекомпилируем пакеты dclrx.dpk, dclrxdb.dpk, dclrxbd.dpk
 
ЗЫ: Попозже все-таки соберу полный комплект для всех Дельфей, включая 2010 и выложу...

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 23:14 09-10-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rxlib-2.7.7.4 up to Delphi 2010
 
Собрал 4-ую редакцию библиотеки:
- адаптировано под Delphi 2010
- исправлен баг в редакторе свойства Items компоненты TCheckListBox.
 
Брать здесь: http://rapidshare.com/files/291028147/rxlib-2.7.7.4_D7-D2010_by.psa1974.rar
 

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 11:59 10-10-2009 | Исправлено: psa1974, 12:01 10-10-2009
cepbl



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как добавить картинку, чтобы при переносе только ехе файла на другой компьютер картинка открывалась. Вариант загружать картинку из папки с ехе файлом и переносить всю папку не подходит.

Всего записей: 17 | Зарегистр. 09-10-2009 | Отправлено: 16:52 10-10-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cepbl
Добавляешь ее в файл ресурса, сам файл ресурса включаешь в проект, и потом грузишь картинку из ресурсов, в итоге никаких дополнительных файлов не требуется распространять.
Например, я хочу загрузить файлы "Sample.png", "Sample2.bmp"...
Делаю текстовый файл Sample.rc следующего содержания:

Код:
IMAGE_SAMPLE RCDATA "Sample.png" ;
IMAGE_SAMPLE_BMP BITMAP "Sample2.bmp" ;
 

компилирую из него файл ресурса,

Код:
brcc32.exe Sample.rc -foSample.res

Подключаю в нужном модуле этот ресурс, обычно там где подключается ресурс формы (строка {$R *.RES}):  

Код:
 
implementation
{$R *.RES}
{$R Sample.RES}
...

Когда нужно загрузить картинку, пишу:

Код:
 
PngImage:= TPngImage.Create;
PngImage.LoadFromResourceName(HInstance, 'IMAGE_SAMPLE');
...
PngImage.Free;
 
Bitmap:= TBitmap.Create;
Bitmap.Handle:= LoadBitmap(HInstance, PChar('IMAGE_SAMPLE_BMP'));
...
Bitmap.Free;
 

 
Аналогично с другими типами графики...

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 17:31 10-10-2009 | Исправлено: psa1974, 18:03 10-10-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cepbl
Можно закинуть ее в ресурсы. Подробнее: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=18#00101D http://www.delphikingdom.com/asp/answer.asp?IDAnswer=22015
Для создания RES-файла удобно пользоваться специальными редакторами ресурсов. Например ResHacker или Restorator.

Всего записей: 2319 | Зарегистр. 24-05-2007 | Отправлено: 17:43 10-10-2009 | Исправлено: Frodo_Torbins, 17:51 10-10-2009
MGAlex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cepbl
Куда нужно добавить картинку? Если на форму в TImage, то вообще проблем не вижу. Вставляешь, компилируешь и все. Правда, размер exe-шника увеличится, в зависимости от размера картинки.
Или я чего-то не пойму?
 

Всего записей: 1885 | Зарегистр. 12-10-2007 | Отправлено: 23:22 10-10-2009
psa1974



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MGAlex

Цитата:
Правда, размер exe-шника увеличится, в зависимости от размера картинки

Для меня это настолько очевидно, что забыл даже об этом сказать  
cepbl
В случае запихивания картинки в ресурсы exe-шника и последующей подгрузке ее по необходимости, размер exe-шника увеличится увеличится по-любому, так же как и при вставке картини в TImage. Чудес не бывает .

Всего записей: 438 | Зарегистр. 08-11-2005 | Отправлено: 23:44 10-10-2009
Aleksandr N

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите во что трансформировался набор компонент rxlib?

Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 11:09 12-10-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aleksandr N
на этой странице уже не раз писали что RXLib теперь входит в JEDI VCL.

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 11:24 12-10-2009
   

Страницы: 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 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder разных версий
ShIvADeSt (26-06-2017 02:39): Продолжение тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=14667


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru