Thx werde die Tuts mal versuchen,
Mittlerweile hab ich noch nen 2.Post zu dem thema beim
Lazarusforum gemacht.
Mein Code den ich bisher habe Funktioniert soweit auch schon, das er den Dialog öffnet und ich die File bekomme, nur beendet sich der dialog leider nicht. Ich kriege dann irgendwann nen Timeout und dann kachelt die ganze anwendung ab.
unter Win ists kein Thema da gehts.
Delphi-Quellcode:
unit uOpendialog;
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
interface
uses
{$IFDEF FPC}
Glib2, Gdk2, Gtk2,
{$ELSE}
{$ENDIF}
Classes, SysUtils;
Function OpenFile(Filter:
String):
String;
implementation
Function OpenFile(Filter:
String):
String;
var
dialog : PGtkWidget;
filename : Pgchar;
begin
Result := '
';
gtk_init (0,0);
dialog := gtk_file_chooser_dialog_new ('
Open File',
0,
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_OPEN, [GTK_RESPONSE_ACCEPT,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
NULL]);
if gtk_dialog_run (GTK_DIALOG (dialog)) = GTK_RESPONSE_ACCEPT
then
begin
filename := gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
result := Filename;
g_free (filename);
end;
gtk_widget_destroy (dialog);
end;
end.