Stringgrid i problem pamięci

0

Mam pytanko zrobiłem w stringgrid bazę i ma ona 1048560 wierszy i 33 kolumny kiedy ładuje całą bazę wyskakuje mi błąd pamięci toutofmemory. Mam pytanko czy pamięć do stringgrida jest gdzieś ustawiana jaką ma przydzielić na dane?

0

wierszekolumnyrozmiar pola w bajtach/1024/1024/1024
Przyjmując, że średnio rozmiar pola to około 50 bajtów, otrzymujemy:
10485603350/1024/1024/1024 ~ 1.6 GB danych.
To o wiele za dużo.

0
piter2004 napisał(a)

zrobiłem w stringgrid bazę i ma ona 1048560 wierszy i 33 kolumny

A tyle się mówi, że kontrokli nie służą do gromadzenia danych, a do ich wyświetlania;

Jeśli nie musisz to nie ładuj wszystkich od razu do kontrolki, tylko podziel sobie na małe party (np. po 100 czy 200 wpisów/wierszy), które można pokazać w kontrolce; Do tego dorób przyciski do przewijania stron i wszystko będzie działać o wiele szybciej, a przy okazji kontrolka będzie zużywać małą ilość pamięci;

Tak przy okazji - gdybym był użytkownikiem tej aplikacji, to nie wyobrażam sobie komfortu przewijania tak długiej listy (ScroolBar byłby bardzo mały, za to skok bardzo duży); Według mnie nie ma w ogóle sensu ładować całej listy - lepiej dać możliwość przeglądania małych porcji;

Patryk27 napisał(a)

10485603350/1024/1024/1024 ~ 1.6 GB danych.

@piter2004 - ile trwa (w minutach) załadowanie całej bazy do pamięci? Tak z ciekawości pytam.

0

kto normalny ogarnie ponad MILION wierszy??? Przecież to jest fizycznie niemożliwe, żeby je przejrzeć. A i szukanie czegoś w takiej ilości danych to koszmar. Najpierw należy jak najbardziej zawęzić ilość danych do pokazania (np. czasowo) a dopiero potem pokazać userowi dane. Jak będzie chciał inne to sobie wczyta inne

0

Reasumując. Czy da się ustawić żeby jedna komórka miała 1 bajt?
bo takie dane tam przechowuje
A ile trwa załadowanie bazy trochę koło minuty lub 2

0
piter2004 napisał(a)

Czy da się ustawić żeby jedna komórka miała 1 bajt?

Tak, musiałbyś mieć w każdej komórce dokładnie jeden znak;

0

Czy da się ustawić żeby jedna komórka miała 1 bajt?

Napisz własny komponent.

0

VirtualTreeView - opis tego komponentu jest na 4p radzi sobie z dużą ilością rekordów bo działa nieco inaczej niż stringgrid

0

@szopenfx - wszystko fajnie, ale to nie zmienia faktu, że program nadal będzie pożerał mnóstwo pamięci, oraz żaden normalny człowiek nie ogarnie listy z ponad milionem wierszy;

Rozwiązaniem jest podział listy na małe porcje i ich przedstawianie na krótkiej liście + możliwość przewijania stron;

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0