Announcement

Collapse
No announcement yet.

Problem: Kurze Dateinamen mit COM

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem: Kurze Dateinamen mit COM

    Hallo,

    schlage mich gerade mit einen nicht erklärbaren Problem herum:

    Delphi 2006...
    Wenn ich die Win32 Funktion GetModuleFileName in einer ganz normalen EXE aufrufe, bekomme ich auch ganz normale Anzeige, wie im Explorer auch.
    Wenn ich die Funktion in einen ActiveForm aufrufe, bekomme ich nur kurze Pfade und Dateinamen geliefert (...\EIGENE~1\BORLAN~2\...)

    Hintergrund: Das Betriebssystem (WinXPsp2) wurde kürulich neu installiert und somit auch BDS2006. Mit dem alten Betriebssystem (auch WinXPsp2) hatte ich diese Erscheinung so weit ich mich erinnern kann nicht.

    Gibt es noch irgen wo einen Schalter für lange Dateinamen unter COM den ich noch nicht umgelegt habe?

    Kann mir jemand helfen?

  • #2
    Man kann sich für kurze Dateinamen auch die langen liefern lassen. Weiß jedoch aktuell nicht den dafür nötigen API-Aufruf.

    Comment


    • #3
      Umwandlung

      Ja, ist bekannt. Die JEDI Jünger haben sich ausgiebig damit beschäftigt und es reicht der Aufruf der Funktion "PathGetLongName". Dort sind alle Möglichkeiten angebunden.

      Interessant wäre das Problem trotzdem. Zumal ich auch festegestellt habe, das die XPMan auch nicht übernommen wird alles im alten Win-Look angezeigt wird.

      Comment


      • #4
        Originally posted by Manfred Süsens View Post
        Interessant wäre das Problem trotzdem.
        In Windows werden noch uralt-Codeteile verbaut sein (Anti-Pattern Lava Code läßt grüßen) so das teilweise nur mit kurzen Dateinamen gearbeitet werden kann.

        Originally posted by Manfred Süsens View Post
        Zumal ich auch festegestellt habe, das die XPMan auch nicht übernommen wird alles im alten Win-Look angezeigt wird.
        Ich glaube in der Delphi-Praxis hat man über dieses Problem schon debatiert. Da die XPMan-Unit von Delphi sehr trivial ist und das Manifest mit bestimmter ID in die Exe/DLL einbindet wird die besondertheit nicht berücksichtigt wenn es als DLL in einem anderen Prozess läuft. Hier muß das Manifest mit einer anderen ID eingebunden sein.

        Comment

        Working...
        X