wywolanie zdarzenia/procedury na innym formie

0

witam
mam forma glowna na ktorej mam comboboxa. jezeli chce dodac nowa pozycje do listy mam przycisk.po wcisnieciu pokazuje sie nowa forma na ktorej wprowadzam dane.po zatwierdzenieu wracam do formy glownej i chce aby w comboboxie byla juz wpisana dana pozycja, ale potrzebuje odswiezyc zapytanie.
Jak moge to zrobic?
gdy odwoluje sie z formy podrzednej do formy glownej( a raczej do jej funkcji) - acess violation
prosze o pomoc i pozdraiwam

0

Procedura na Form1:

procedure TForm1.ButtonClick1(Sender: TObject);
begin
Form2 := TForm2.Create(Self);
Form2.ShowModal;
Combobox1.Caption := Edit1.Text;
end;

Ew. Jeżeli uzywasz Show, zamiast ShowModal, możesz w OnClose Form2 dać procedure która zmieni tekst w ComboBox1...

0

Wiec chodzi mi generalnie o cos takiego:

Form głowny - lista - wynik zapytania -> select nazwa from towary;
obok listy(comboboxa) '+' = po wcisneiciu + otwiera sie nowe okno i dodaje nowy towar pododaniu towaru zmyka mi sie okno podrzene i chce aby odswiezylo sie zapytanie ( po to abym po kliknieciu listy juz mial do wyboru nowo "powstaly" towar - jak wywolac zmiane (aktualizowac) zapytanie z formu podrzedengo na formie glownym.
pozdrawiam

0

A czy do sekcji uses w form2 dodałeś form1?

0

tak

0

Jeżeli dodałeś to wystarczy odwoływać się w ten sposób :

Form1.Edit1.Text = 'cos tam';
Form1.ComboBox1.AddItem('cos tam');

Jeżeli to nie pomogło, to daj jakieś fragmenty kodu Form2 bo nie rozumiem do końca co chcesz osiągnąć.

0

Ok prosze bardzo :)

na formie11 jest Tdblookupcombobox - do ktorego podpiete jest zapytanie, ktore wyswielta wszystkie nazwiska - obok przycisk ktory dodaje do bazy nowe nazwisko, po zamknieciu formy chce aby zostala odswiezone zapytanie.

wywoluje forme 12 z przycisku '+'

Form12:=TForm12.Create(nil);
Form12.ShowModal;

na formie 12 dodaje rekord

begin
ADOConnection1.BeginTrans;
try
Form6.zapytanieInsert_Update('INSERT INTO dozor (imie,nazwisko,id_odz,telefon) VALUES (+Edit6.Text+,+Edit7.text+,+Edit1.Text+,+Edit9.text+);',ADOQuery2);
ADOConnection1.CommitTrans;

i teraz jak chce odswiezyc zawartosc TDBLookupCombobox -na formie11
Form6.zapytanieSelect('select * from oddzialy where id_firmy_wew =0;',Form11.ADOQuery4);

ACCESS VIOLATION ITD.
//Form6 - dlatego bo tam sa wszystkie funkcje

              except
              ADOConnection1.RollbackTrans;
         end
0

w którym miejscu kodu masz taki ciąg

```delphi var Form11 ```
0

niezawodny Misiek_d :)

nemam var Form11

0

tzn mam
var
Form11: TForm11;

w unit11 :) - ( z form 11 po przycisku wywoluje form12)
pozd

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