Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kolumny w tablicy konfiguracji
Konnekt | Forum > Developerzy > Tworzenie wtyczek
KoSiarzPL
1. Jeśli robię coś takiego (nie robię tego w ISetCols tylko w dowolnej części programu) :
CODE
Ctrl->SetColumn( DTCFG, 12501, DT_CT_STR | DT_CF_CXOR, "", "blabla" );

Otrzymuję komunikat "Kolumna 12501 w 0 jest już zajęta". Rzeczywiście została już utworzona wcześniej. Dlaczego ten komunikat nie pojawia się podczas tej samej operacji w ISetCols? Najchętniej dowiedział bym się jak sprawdzić czy dana kolumna istnieje.

2. Jak usunąć niepotrzebną kolumnę

3. Jeśli korzystam z kilku wierszy przykładowo
CODE
Ctrl->DTsetStr( DTCFG, 0, 12501, "aaaa" );
Ctrl->DTsetStr( DTCFG, 1, 12501, "bbbb" );

, to w jaki sposób mogę usunąć wiersz o indeksie zero i czy następne wiersze przeskakują na poprzednie indeksy?
Olórin
1. Czytaj SDK. Kolumny rejestrujemy TYLKO w IM_SETCOLUMN (ISetCols), nigdzie indziej!
2. Nie ma takiej opcji, poprostu jej nie twórz - Ci którzy mieli wtyczke wcześniej będą ją nadal posiadali, nowi użytkownicy już jej mieli nie będą
3. W wierszu o indeksie 0 zapisana jest konfiguracja wszystkich wtyczek - inaczej: w konfiguracji ma być 1 wiersz, ilość kolumn zależy od wtyczek. Jeżeli potrzebujesz zapisywać więcej wartości masz 2 opcje: albo serializujesz dane, albo tworzysz własny plik .dtb.

Co do przeskakiwania - do wierszy można odwoływać się na 2 sposoby - po indeksie (liczbie kolejnej) - to przeskakuje, przydatne w pętlach po wszystkich kontaktach. Drugi sposób to odwoływania bezwzględne - identyfikator wiersza zawiera wtedy w sobie maskę DT_ROWID_MASK - oczywiście stosowymi funkcjami można indeks zamienić na id bezwzględny.
KoSiarzPL
1. Ok. (Zaskoczę Cie, czytam sdk i o tym wymaganiu nie ma tam nawet wzmianki. Mówiąc "nie ma", mam na myśli fragmenty traktujące o funkcji SetColumn, bo niby gdzie miał bym tego szukać)

W takim razie po co są te wiersze skoro nie można z nich korzystać? Wstawianie wszystkich wartości do jednej komórki jest koszmarnym pomysłem. Nie dość że utrudniony jest do nich dostęp to o modyfikacji tych danych nie wspominam.

Do tej pory używałem kilku kolumn konfiguracji które przechowywały mi kilka wartości danego elementu ale tym razem chciałem by ilość tych elementów była zmienna i dlatego kolumny chciałem tworzyć dynamicznie.
Olórin
Wiersze są do tabel typu kolejka wiadomości, kontakty.
QUOTE
Wstawianie wszystkich wartości do jednej komórki jest koszmarnym pomysłem. Nie dość że utrudniony jest do nich dostęp to o modyfikacji tych danych nie wspominam.

Da się używać, ale oczywiście zależy do czego.
QUOTE
Do tej pory używałem kilku kolumn konfiguracji które przechowywały mi kilka wartości danego elementu ale tym razem chciałem by ilość tych elementów była zmienna i dlatego kolumny chciałem tworzyć dynamicznie.
Najlepsza będzie osobna tabela.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.