Модератор: Модераторы
B4rr4cuda писал(а):Наконец-то разобрался с миксованием LCL и прямых GTK вызовов.Начинаю писать WLX апи для линукса.
Душа поет, скоро, уже скоро у меня будет нормальный графический фм для линукса, там пара-пам.... =)




отя с Алексом мы нашли способ вызывать плагины ТС в лине без переделки, но не проверяли.
 library project1;
 {$mode objfpc}{$H+}
 uses
    gtk,glib,gdk;
  var GBox,GButton1,Gbutton2:PGtkWidget;
   procedure ButtonToPanel(X:PGtkWidget); stdcall;
   begin
     gBox:=gtk_hbox_new(false,0);
     gtk_container_set_border_width (GTK_CONTAINER (gBox), 2);
     gtk_container_add(GTK_CONTAINER(X),GBox );
     gtk_widget_show(gBox);
     GButton1:=gtk_button_new_with_label('Yehoo1');
     //gtk_container_add(GTK_CONTAINER(PGtkWidget(panel1.Handle)),GButton1);
     gtk_container_add(GTK_CONTAINER(gBox),GButton1);
     gtk_widget_show(GButton1);
     Gbutton2:=gtk_button_new_with_label('Yehoo2');
     gtk_container_add(GTK_CONTAINER(GBox),Gbutton2 );
     gtk_widget_show(Gbutton2);
   end;
   exports ButtonToPanel;
 begin
 end.
procedure TForm1.Button5Click(Sender: TObject);
 begin
   Hlib:=LoadLibrary('path to lib.so');
   if Hlib<>0 then
     begin
       Button5.Caption:='LoadLib OK';
       Button7.Caption:='UnLoadLib';
     end;
 end;
 procedure TForm1.Button6Click(Sender: TObject);
 type TPro=procedure (X:PGtkWidget); stdcall;
 var Proc:TPro;
 begin
 proc:=TPro(GetProcAddress(HLib,'ButtonToPanel'));
 if proc <> nil then
   begin
     proc(PGtkWidget(Panel1.Handle));
   end else showmessage('Error');
 end;
 procedure TForm1.Button7Click(Sender: TObject);
 begin
    if UnloadLibrary(Hlib) then
    begin
     Button5.Caption:='LoadLib';
     Button7.Caption:='UnLoadLib OK';
    end;
 end;


framepanel.pas(204,110) Error: Can't take the address of constant expressions
var
  ls: TFileList;
begin
  ....
  ls := pnlFile.FileList;
  pnlFile.VFS.VFSmodule.VFSList(ExtractDirLevel(pnlFile.VFS.ArcFullName, ActiveDir), ls); 
  ...
end;     

 )?
 )?






Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1