Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

Re: Bedeutung von E/A-Fehler 123?

  Alt 10. Nov 2008, 13:03
Hallo,

hab' mal eben ein Programm geschrieben, das die Funktion aufruft und das dann über's Netz mit UNC-Pfad von 'nem Rechner an 'nem anderen Standort aufgerufe. Gibt keine Probleme, selbst wenn das in Pfad angegeben Verzeichnis nicht existiert.

Da blieben als Fehlermöglichkeiten: Rechteprobleme oder unterschiedliche Zeichensätze?

SelectDirectory benutzt intern TSelectDirDlg aus FileCtrl. Setz' Dir mal 'nen Breakpiont vor dem If und versuche dann in FileCtrl hinein zu debuggen (wenn es Dir gelingt, auf Deinem Rechner den Fehler nachzuvollziehen, sonst bringt das natütlich nix).
Das FormCreate von dem Dialog sieht (bei Delphi 7) so aus:
Delphi-Quellcode:
procedure TSelectDirDlg.FormCreate(Sender: TObject);
var
  UserHandle: THandle;
  NetDriver: THandle;
  WNetGetCaps: function (Flags: Word): Word;
begin
  { is network access enabled? }
  UserHandle := GetModuleHandle(User32);
  @WNetGetCaps := GetProcAddress(UserHandle, 'WNETGETCAPS');
  if @WNetGetCaps <> nil then
  begin
    NetDriver := WNetGetCaps(Word(-1));
    if NetDriver <> 0 then
    begin
      @WNetConnectDialog := GetProcAddress(NetDriver, 'WNETCONNECTDIALOG');
      NetButton.Visible := @WNetConnectDialog <> nil;
    end;
  end;

  FAllowCreate := False;
  DirLabel.BoundsRect := DirEdit.BoundsRect;
  DirListChange(Self);
end;
Könnte mir vorstellen, das eventuell hier der Fehler auftritt.

Es wäre interessant zu wissen, ob der Fehler vor oder nach dem Anzeigen des Dialoges auftritt.

Die zweite von Dir benutze Variante nutzt einen vollkommen anderen Weg zur Anzeige des Dialoges. Da mag es durchaus sein, dass der eine funktioniert und der andere nicht.
  Mit Zitat antworten Zitat