![]() |
NonVCL OpenDialog
Hossa,
Ich möchte eine Anwendung Schreiben die sowohl unter Lazarus / Linux als auch unter Win / Delphi5 Läuft. Meine Anwendung Arbeitet mit OpenGL, also habe ich mich entschieden das ganze mittels SDL zu machen. Die Anwendung steht auch schon, und OpenGL ist Kein problem. Das Problem ist nur das bedingt durch SDL alles NonVCL läuft. Und nun will ich natürlich auch Dateien aus meinem Programm heraus laden. Das Problem ist Klar TOpenDialog ist Teil der VCL und damit nun nicht mehr Verfügbar. Wie Kriege ich also nun einen OpenDialog ? Weiteres Problem der Dialog sollte gleich unter beiden Betriebsystemen laufen, zur not kann ich aber noch mittels Compilerswitches auf 2 unterschiedliche Dialoge ausweichen. Die Suchfunktion hat unter "nonvcl opendialog" leider nur 3 Beiträge gefunden und alle 3 sind nicht Brauchbar :( Ist da drausen jemand der mir weiterhelfen kann ? |
Re: NonVCL OpenDialog
|
Re: NonVCL OpenDialog
Liste der Anhänge anzeigen (Anzahl: 1)
Oder sowas vill.
|
Re: NonVCL OpenDialog
Cool thx,
ich installiere noch ubuntu und dann kann ichs testen und berichten ;). |
Re: NonVCL OpenDialog
Oder hier:
![]() |
Re: NonVCL OpenDialog
Hmm, der OpenDialog von Turbopascal tut 1a, allerdings nur unter Windows.
Nu bin ich noch auf der Suche nach einer Ubuntu variante ... |
Re: NonVCL OpenDialog
jupp, da wird ja auch die WinAPI verwendet und die ist, wie der Name schon sagt, Windows :stupid:
Aber vermutlich hat Ubuntu(Linux) da auch eine passende API dafür ... heißt bestimmt nur anders und mit etwas anderen Parametern. |
Re: NonVCL OpenDialog
D.h. hier ist keiner der mir das für Linux verraten kann ?
|
Re: NonVCL OpenDialog
Das geht wohl über Widgets. Zum Beispiel GtkWidget, wxWidget, Qt
![]() ![]() ![]() ![]() ![]() ![]() |
Re: NonVCL OpenDialog
Thx werde die Tuts mal versuchen,
Mittlerweile hab ich noch nen 2.Post zu dem thema beim ![]() 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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz