Problem z dodawaniem itmów do Comboboxa

Problem z dodawaniem itmów do Comboboxa
DM
  • Rejestracja:prawie 21 lat
  • Ostatnio:prawie 19 lat
  • Postów:176
0

mam taki kod:

Kopiuj
             for iClip := 1 to Sekt.Count do
               begin
                 wvsprintf(pClip, 'Sektor%d', @iClip);
                 SendMessage(cbSektory, $0143, 0, LongInt(pClip));
               end;

zapewne zauważono, że to ma być kod dodający itemy do ComboBoxa.
tu są deklaracje zmiennych:

Kopiuj
pClip       : PChar;
iClip        : Integer;
cbSektory: HWND;

a sTarget otrzymuje wartość dzięki:

Kopiuj
cbSektory := CreateWindow('COMBOBOX', '', WS_VISIBLE or WS_CHILD or WS_VSCROLL or CBS_DROPDOWNLIST, 110, 50, 85, 80, h, 4, hInstance, nil);

Niestety ilekroć jest odpalana, to wyskakuje naruszenie dostępu... ma ktoś jakiś pomysł, jak to naprawić?

PS. dla tych który nie znają się na perfekt to dodam że $0143 jest wartością consta CB_ADDSTRING z Messages.pas


programowanie to sztuka bardzo życiowa... Wciąż trzeba kombinować..
Szymek
  • Rejestracja:ponad 22 lata
  • Ostatnio:prawie 3 lata
0

Przydziel pamięć dla pClip przy pomocy GetMem.

[dopisek]
Tyle ile potrzebujesz :-D
Jak nie dodajesz długich elementów to 100 wystarczy.

DM
  • Rejestracja:prawie 21 lat
  • Ostatnio:prawie 19 lat
  • Postów:176
0

a ile tej pamięci dać? [stuk]


programowanie to sztuka bardzo życiowa... Wciąż trzeba kombinować..
DM
  • Rejestracja:prawie 21 lat
  • Ostatnio:prawie 19 lat
  • Postów:176
0

Jak zrobie:

Kopiuj
GetMem(@pClip, 100);

to pojawia się błąd w kompilacji :

For loop control variable must be simple local variable
(w pętli For To Do), a jeśli dam przed nią to wyskakuje Left Side Can`t Be assigned to...


programowanie to sztuka bardzo życiowa... Wciąż trzeba kombinować..
Szymek
  • Rejestracja:ponad 22 lata
  • Ostatnio:prawie 3 lata
0

Wydaje mi się, że nie wiesz co oznacza @ przed nazwą zmiennej.
Poczytaj w helpie, to zobaczysz ze ją trzeba usunąc.

DM
  • Rejestracja:prawie 21 lat
  • Ostatnio:prawie 19 lat
  • Postów:176
0

a mi sięwydawało, zę tam miał być pointer :) wiem co oznacza "at" [hurra]


programowanie to sztuka bardzo życiowa... Wciąż trzeba kombinować..

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.