Dynamiczne tworzenie... procedur

0

Jak mozna stworzyc dynamicznie procedury? Nie chodzi mi o przypisanie zmiennej procedure do jakiejs procedury, tylko o dynamiczne tworzenie komponentow, nie wiadomo dokladnie z jakimi parametrami, ale kazdy z nich ma miec inna procedure. POMOCY!!!

0

Dziwnie mówisz, jakoś cię nie rozumiem... chodzi ci o tworzenie komponentów, które na te same eventy reagują inaczej? czy może tobie chodzi o to, aby zrobić "cuś" dzięki czemu bedziesz mógł kontrolować wszystko w proceduraze (nawet jej działanie itp)?

w pierwszym wypadku będzie dużo pisania, w drugim trochę mniej, ale za to trudniej, opisze drugi:

jak znasz się na external kompilatoru z delphi to możesz zrobić taki myk, że robisz kod źrodłowy dll'ka z jedną procedurą (którą exportujesz ofcoz) i podczas działania programu modyfikujesz wnętrze tej procedury, kompilujesz bibliotekę ładujesz, uruchamiasz procedurę zwalniasz biblioteke i tak w pętli...

jest też trzecie wyjście: skrypty. mając obsługę dobrego języka skryptowego w programie będziesz mógł robić cokolwiek ci się żywnie podoba, tylko robiąc na skrypcie. proste, co?

0

Mam w katalogu pliki z danym rozszerzeniem. Wyszukuję je i wypisuję w tablicy dynamicznej. Teraz pętla: Tworzę itemy w menu z captionem o nazwie pliku, chce do nich przypisac procedury. Z tym ze do kazdego ma byc inna, blizej nie okreslona (ma zmieniac zawartosc w zaleznosci od wybranej pozycji)

0

Tą procedurę trzeba wcześniej napisać gdzieś w pogramie, a dopiero po utworzeniu komponentów - "skierować" ich zdarzenia na tą właśnie procedurę.. tak chyba najłatwiej. A same instrukcje w tej procedurze - w zależności od Sendera...

0

może pomoże - http://4programmers.net/view.php?id=427 (Detox, reklamuj się!)

0

Dzięki wszystkim! Pewnie te odpowiedzi mi pomogą :)

0

Nawiązując do artykułu detoxa "rzutowanie metod", jak można odpalić procedurę z parametrem?

0

Trzeba zrobić definicję tej procedury odpowiednią. Chyba tak by to wyglądało:

var
  Test: procedure(Dupa: Integer) of object;

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