Czesc, mam problem z biblioteka dll, chodzi mi o to, zeby zmienic wartosc caption itemow menu glownego (menu wielojezykowe) mojego programu przy uzyciu biblioteki dll.
napisalem ta biblioteke do zmiany caption, ale nie dziala, program sie wykrzacza ;[
pomocy.
Pozdrawiam
0
0
w bibliotece utwórz sobie tablicę
const
Menu:array [0..liczba_itemów] of string=('Menu1','Menu2');
Wypełnij ja captionami dla itemów.
Potem utwórz taką funkcję:
function TranslateMenu(Item:integer):pchar;
begin
result:=pchar(Menu[Item]);
end;
Wyeksportuj ją
W programie załaduj bibliotekę i zdobąć dostęp do funkcji
TranslateMenu
Potem dla każdego item wykonaj cos takiego:
MenuItem.caption:=StrPas(TranslateMenu(ID));
Jak chcesz to możesz umieści ID we właściwości
Tag
a potem stworzyć taką procedurę:
procedure TranslateMenuItem(MenuItem:TMenuItem);
begin
MenuItem.caption:=StrPas(TranslateMenu(MenuItem.Tag));
end;