LoadResource

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

LoadResource

Beitrag von Werner_Bayern »

Servus,

warum bekomme ich OriginalFilename nicht zurück?

Code: Alles auswählen

aResource := LoadResource("VERSION", , RES_VERSION)
Die anderen Infos stimmen, nur o. g. liefert einen Leerstring, obwohl korrekt in der ARC belegt?

Code: Alles auswählen

VERSION
"CompanyName" = "Meine Firma"
"LegalCopyright" = "(C) Meine Firma"
"ProductName" = "Programmname"
"ProductVersion" = "1.23"
"FileDescription" = "nix"
"FileVersion" = " 1.23"
"OriginalFilename" = "xyz.exe"
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: LoadResource

Beitrag von Tom »

Ich bekomme mit der gleichen Abfrage und ähnlicher Struktur in meiner .ARC alle Infos zurück, außerdem noch einen leeren "Comment"-Eintrag. Einziger Unterschied: Bei mir ist zwischen "ProductName" und "ProductVersion" eine Leerzeile, die aber keine Wirkung haben sollte. 1.9 SL1.
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: LoadResource

Beitrag von Werner_Bayern »

Servus Tom,

auch mit Leerzeile, Leerstring. Egal, was ich bei OriginalFilename reinschreibe. Den Comment-Eintrag bekomme ich auch zurück.
Ebenfalls 1.90.355, SL1.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: LoadResource

Beitrag von brandelh »

Ich kann bestätigen, dass der OriginalFilename bei mir auch nicht ausgegeben wird.
Ich habe mir mal das entstandene Array angesehen und es gibt noch einen InternalName, der bisher hier fehlte.
Wenn ich diesen angebe, erscheint auch der OriginalFileName ;-)

Code: Alles auswählen

#include  "ANW_ALLG.CH"
...
VERSION

   "CompanyName"      = " .... l"
   "LegalCopyright"   = "Copyright © ... "  <=== man beachte das (c) !
   "ProductName"      = "MDI-Win32-TL"
   "ProductVersion"   = chProgrammVersion 
   "FileDescription"  = "MDI-Win32 TopLeft Muster"
   "Comment"          = "MDI-Win32 Beschreibung"
   "FileVersion"      = chFileVersion
   "OriginalFilename" = "MDIW32.EXE"
   "InternalName"     = "Interner Name"
...

im Programm ...
*-----------------------------------------------------------------------------
Function ZeigArcInfos()
   local aResource, cTxt := ""
   aResource := LoadResource("VERSION", , RES_VERSION)
   aEval(aResource,{|aI,i| cTxt += str(i,1,0)+": "+aI[1]+chr(9)+aI[2]+CRLF })
   cTxt += "Ende"
   if ! empty(cTxt)
      msgbox(cTxt,"Resource Infos")
   endif
return nil
Wenn ich genau hinsehe wird in der EXE aber statt (C) nun (R) angezeigt und das obwohl ich alles in ANSI habe :shock: :angry4: :angry5: :banghead: angry9:
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: LoadResource

Beitrag von Tom »

Ich habe "InternalName" nicht deklariert, erhalte die Info aber. Das Array hat immer 9 Einträge, ganz egal, was ich davon angebe - vorausgesetzt, es gibt die Sektion "VERSION" in der Ressource. Das Verhalten ist für die EXE selbst genau wie beim Abruf der Informationen für DLLs. Vielleicht habe ich einen Hotfix, den Ihr noch nicht habt?
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: LoadResource

Beitrag von brandelh »

Ich denke ich habe alle verfügbaren Hotfixes ... ;-)
Das Ergebnis ist hier gleich bei 1.90.331, 1.90.355 und auch 2.00 (CTP4)
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: LoadResource

Beitrag von Werner_Bayern »

Tom hat geschrieben:Vielleicht habe ich einen Hotfix, den Ihr noch nicht habt?
Oder umgekehrt? :)

Nein, wenn ich InternalName angebe, dann funktionierts! Jedoch wird der InternalName dann wieder nicht ausgegeben, dann ist der ein Leerstring. Was mir in dem Fall aber egal ist...

Danke Euch beide!
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: LoadResource

Beitrag von brandelh »

Welche Windowsversion verwendet Ihr denn ?

Ich habe hier Windows 7 Pro mit 64 Bit
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2125
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 30 Mal
Danksagung erhalten: 75 Mal

Re: LoadResource

Beitrag von Werner_Bayern »

Vista 32bit, SP2.
es grüßt

Werner

<when the music is over, turn off the lights!>
Antworten