Probleme mit OpenDialog

Antworten
Offspring
Beiträge: 6
Registriert: So 20. Feb 2011, 19:42

Probleme mit OpenDialog

Beitrag von Offspring »

Hi,

ich habe folgendes Problem mit dem OpenDialog. Unter Win XP funktioniert der Quellcode mit der 32 Bit Version von Lazarus einwandfrei. Unter Win 7 mit der 64 Bit Version kann ich zum Beispiel im Laufwerk D einen beliebigen Pfad aussuchen und dort Textdateien laden. Aber wenn ich zum Beispiel vom Desktop oder aus den eigenen Dateien eine Textdatei öffnen möchte, bekomme ich nur ne Fehlermeldung. Woran kann das liegen ?

Hier mal der Quelltext vom Aufruf

In den Properties vom Open Dialog ist ein Filter der nur Textdateien zulässt. Weiterhin ist Path must exist und file must exist eingestellt sowie of Read only.


Code: Alles auswählen

procedure THauptprogramm.DopenClick(Sender: TObject);   //Event Handler
var i,z:integer;
alenhilf: integer;
begin
  if OpenDialog1.Execute then
AssignFile(f,OpenDialog1.FileName );
// Fehlermeldungen ausschalten:
{$i-}
Reset(f);
{$i+}
if IOResult <> 0 then begin
ShowMessage('Fehler ...');
Exit
end;
unsortiert.items.Clear;
sortiert.items.Clear;
array1 := NIL;
i:=0;
z:=0;
alenhilf := 0;
while not eof(f) do begin Readln(f,s);
t:= s;                  
ergebnis:= explode(' ',t,20);
z:= Length(ergebnis);
 
SetLength(array1,alenhilf + z);
for i:= 0 to (z-1) do begin
array1[alenhilf + i] := ergebnis[i];
end;
alenhilf := alenhilf + z;
end;
CloseFile(f);
 
 
for i:=0 to alenhilf-1 do
unsortiert.Items[i] := array1[i];
 
SetLength(array2,alenhilf);
for i:=0 to High(Array1) do begin
array2[i] := array1[i];
 
 
end
end;
Zuletzt geändert von Lori am Mo 21. Feb 2011, 19:00, insgesamt 1-mal geändert.
Grund: Highlighter

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Probleme mit OpenDialog

Beitrag von MAC »

1.versuch mal

Code: Alles auswählen

Memo1.Lines.LoadfromFile // evt direkt Memo1.LoadfromFile


gleicher fehler ?

2. hast du irgendwelche sonderzeichen in deinem namen, bzw im pfad deines computernamen ?
Desktop besindet sich ja meistens auf C/Dokumente & Einstellungen/Users/<< COMPUTERNAME >>/Desktop.
Vielleicht mag der da irgendwelche sonderzeichen / Leerzeichen nicht.

Code: Alles auswählen

Signatur := nil;

Offspring
Beiträge: 6
Registriert: So 20. Feb 2011, 19:42

Re: Probleme mit OpenDialog

Beitrag von Offspring »

Also 1. hab ich probiert mit dem gleichen Ergebnis wie mit dem OpenDialog. Der Fehler der angezeigt wird ist unable to open file, wenn ich load from file beutze
 
Zu 2. der Pfad ist dann Beispielsweise: 'C:/Benutzer/Jäsch/Eigene Dokumente/grr.txt' wird dann wohl an dem ä? liegen? Naja ich werds mal ausprobieren und mir nen account ohne umlaute erstellen. Allerdings kann das ja net die ultimative Lösung sein auf die Umlaute zu verzichten.

BeniBela
Beiträge: 309
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

Re: Probleme mit OpenDialog

Beitrag von BeniBela »

Die LCL (zB. OpenDialog) verwendet UTF-8, die RTL (z.B.: AssignFile) ansi (latin1 unter Windows).
Also musst du es vorher umkodieren (UTF8ToAnsi oder so)

shokwave
Beiträge: 470
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Probleme mit OpenDialog

Beitrag von shokwave »

Offspring hat geschrieben:Zu 2. der Pfad ist dann Beispielsweise: 'C:/Benutzer/Jäsch/Eigene Dokumente/grr.txt' wird dann wohl an dem ä? liegen? Naja ich werds mal ausprobieren und mir nen account ohne umlaute erstellen. Allerdings kann das ja net die ultimative Lösung sein auf die Umlaute zu verzichten.

IIRC hatte FPC 2.2.4 noch solche Probleme. Vielleicht ist es an der Zeit eine neuer Version zu benutzen. Lazarus 0.9.30 fixes(kursiert zur Zeit auch als 0.9.29) steht kurz vor dem Release und ist in Verbindung mit FPC 2.4.2 problemlos benutzbar. Gibts z.B. unter http://www.hu.freepascal.org/lazarus/
mfg Ingo

Offspring
Beiträge: 6
Registriert: So 20. Feb 2011, 19:42

Re: Probleme mit OpenDialog

Beitrag von Offspring »

Ok danke für die Hinweise

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Probleme mit OpenDialog

Beitrag von Socke »

BeniBela hat geschrieben:Also musst du es vorher umkodieren (UTF8ToAnsi oder so)

Ich empfehle UTF8ToSys(), das konvertiert in die Systemkodierung wenn nötig (da diese auch UTF-8 sein kann) und ist daher auf allen Plattformen uneingeschränkt und immer richtiger :D.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten