Problem z dodawaniem itmów do Comboboxa

0

mam taki kod:

             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:

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

a sTarget otrzymuje wartość dzięki:

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

0

Przydziel pamięć dla pClip przy pomocy GetMem.

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

0

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

0

Jak zrobie:

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...

0

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

0

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

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