AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Resource-File in Tokyo mit TEXT

Ein Thema von HJay · begonnen am 24. Mai 2017 · letzter Beitrag vom 26. Mai 2017
Antwort Antwort
Seite 1 von 2  1 2      
HJay

Registriert seit: 7. Dez 2009
172 Beiträge
 
Delphi XE7 Enterprise
 
#1

Resource-File in Tokyo mit TEXT

  Alt 24. Mai 2017, 21:39
Ich upgrade gerade einige Projekte von XE7 zu 10.2 Tokyo. In einem Projekt verwende ich eine eigene Ressource als rc-Datei mit folgendem String-Inhalt:

Code:
codekey TEXT "codekey.txt"
Zugriff im Programm dann über

Delphi-Quellcode:
var ACodeKey : String;

{...} 

ACodeKey := GetResourceAsString('codekey', 'text');
Wenn ich nun bei Tokyo versuche, über "Projekt > Ressourcen und Bilder" diese Resource auf moderne Art einzubinden, so kann ich als Typ nicht TEXT auswählen, sondern RCDATA nehmen. Das Programm stürzt dann beim Zugriff auf die Resource ab.

Wie bindet man denn Text-Resourcen in Tokyo ein?

Ich habe auch versucht, alle möglichen Dateien (*res, otares, rc) zu löschen und sie von Tokyo neu aufbauen zu lassen, aber irgendwie klappt es nicht. In XE7 lief es tadellos.
  Mit Zitat antworten Zitat
HJay

Registriert seit: 7. Dez 2009
172 Beiträge
 
Delphi XE7 Enterprise
 
#2

AW: Resource-File in Tokyo mit TEXT

  Alt 24. Mai 2017, 21:59
Update: Ich habe jetzt das rc-File mit meiner TEXT-Resource manuell mit brcc32 zu einer Datei namens RESSOURCES.RES compiliert wie früher --- weiterhin Absturz.

Dann habe ich das Tokyo automatisch in die dpr-Datei nach der uses-Anweisung eingefügte {$R *.res } durch meinen Dateinamen ersetzt {$R RESSOURCES.RES } und VOR die uses-Anweisung verschoben und jetzt klappt es zum Glück wieder. Ich weiß aber nicht wirklich warum.

Frage: Muss bei Tokyo *.res eingebunden werden und was steht eigentlich in der von Tokyo selbst angelegten res-Datei? Genügt es wie oben angegeben in der dpr-Datei nur die eigene Ressource-Datei einzubinden?

Wie kann man TEXT-Resourcen anders als manuell einbinden?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Resource-File in Tokyo mit TEXT

  Alt 25. Mai 2017, 09:03
Moin...

Bei so viel Fragen ist ein Beispiel angebrachter. Anbei ein Beispielprojekt. Da mußt du das nur auf deine Gegebenheiten anpassen.

Zitat:
Ich habe jetzt das rc-File mit meiner TEXT-Resource manuell mit brcc32 zu einer Datei namens RESSOURCES.RES compiliert wie früher
...ist in Ordnung. Alternativ: Das macht Delphi automatisch (Erzeugen). Früher ist out.
Zitat:
Genügt es wie oben angegeben in der dpr-Datei nur die eigene Ressource-Datei einzubinden?
...prinzipiell ja.(RES) In der Regel hast du aber an deiner "RC" auch Änderungen. Da ist das Mitcompilieren besser. Die Quellen müssen dann vorhanden sein.
Zitat:
was steht eigentlich in der von Tokyo selbst angelegten res-Datei
...darüber gibt dir ein beliebiger Resource Editor Auskunft. Beispiel: http://www.chip.de/downloads/Resourc..._71937653.html
Miniaturansicht angehängter Grafiken
ressource.png  
Angehängte Dateien
Dateityp: zip Ressource.zip (1,7 KB, 20x aufgerufen)

Geändert von haentschman (25. Mai 2017 um 10:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Resource-File in Tokyo mit TEXT

  Alt 25. Mai 2017, 10:15
Was genau macht denn GetResourceAsString?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Resource-File in Tokyo mit TEXT

  Alt 25. Mai 2017, 10:24
Also folgendes funktioniert bei mir unter Tokyo:

- unter Projekt - Ressourcen und Bilder wähle ich die passende Textdatei aus, vergebe den Namen "codekey" und schreibe bei Ressourcentyp "TEXT" hinein.
- im Programm kann ich den Inhalt der Ressource mit folgendem Code auslesen:

Delphi-Quellcode:
var
  lst: TStringList;
  stream: TResourceStream;
begin
  stream := TResourceStream.Create(HInstance, 'codekey', 'TEXT');
  try
    lst := TStringList.Create;
    try
      lst.LoadFromStream(stream);
      Memo1.Lines := lst;
    finally
      lst.Free;
    end;
  finally
    stream.Free;
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

AW: Resource-File in Tokyo mit TEXT

  Alt 25. Mai 2017, 10:34
Zitat:
"Projekt > Ressourcen und Bilder" diese Resource auf moderne Art einzubinden, so kann ich als Typ nicht TEXT auswählen, sondern RCDATA nehmen.
...Man kann auch TEXT eingeben und nicht nur die Auswahlen auswählen.

Nachtrag Ressourcen und Bilder:
1. Wenn man einmal TEXT eingeben hat, steht es in allen Projekten zur Verfügung. Wenn man Delphi neu startet ist es wieder zurückgesetzt.
2. Wenn man die RC lädt, werden nur die Anweisungen für das automatische compilieren und die zugehörigen Dateien in die DPR bzw. das Projekt eingefügt. Der Name der compilierten Ressource ist identisch mit der RC Datei. Der Bezeichner und Typ sind nicht relevant.
3. Den Typ braucht man nur wenn man z.B. Bilder in die Projektressource (.DRES) aufnehmen will.
Miniaturansicht angehängter Grafiken
typ1.png   typ2.png  

Geändert von haentschman (25. Mai 2017 um 11:30 Uhr)
  Mit Zitat antworten Zitat
HJay

Registriert seit: 7. Dez 2009
172 Beiträge
 
Delphi XE7 Enterprise
 
#7

AW: Resource-File in Tokyo mit TEXT

  Alt 26. Mai 2017, 11:46
Was genau macht denn GetResourceAsString?
Delphi-Quellcode:
  function GetResourceAsString(ResName: pchar; ResType: pchar): string;
    var ResData: PChar;
        ResSize: Longword;
  begin
    ResData := GetResourceAsPointer(resname, restype, ResSize);
    SetString(Result, ResData, ResSize);
  end;
  Mit Zitat antworten Zitat
HJay

Registriert seit: 7. Dez 2009
172 Beiträge
 
Delphi XE7 Enterprise
 
#8

AW: Resource-File in Tokyo mit TEXT

  Alt 26. Mai 2017, 11:51
Zitat:
...darüber gibt dir ein beliebiger Resource Editor Auskunft. Beispiel: http://www.chip.de/downloads/Resourc..._71937653.html
Danke, werde ich mir gleich mal anschauen.

Geändert von HJay (26. Mai 2017 um 11:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Resource-File in Tokyo mit TEXT

  Alt 26. Mai 2017, 12:15
Was genau macht denn GetResourceAsString?
Delphi-Quellcode:
  function GetResourceAsString(ResName: pchar; ResType: pchar): string;
    var ResData: PChar;
        ResSize: Longword;
  begin
    ResData := GetResourceAsPointer(resname, restype, ResSize);
    SetString(Result, ResData, ResSize);
  end;
GetResourceAsPointer ist keine Standard-Delphi-Funktion die mitgeliefert wird.
Wie schaut also GetResourceAsPointer aus?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
HJay

Registriert seit: 7. Dez 2009
172 Beiträge
 
Delphi XE7 Enterprise
 
#10

AW: Resource-File in Tokyo mit TEXT

  Alt 26. Mai 2017, 12:29
Anbei ein Beispielprojekt. Da mußt du das nur auf deine Gegebenheiten anpassen.
Wow, vielen Dank, sehr nett!

Delphi zickt aber leider bei mir massiv rum. Ich habe jetzt mal testweise {$R CODEKEY.RES CODEKEY.RC } eingebaut, aber es wird keine RES-Datei erzeugt.

Die Compilierung misslang mit der Meldung "BRCC32 failed unexpectedly. FilenotFoundException: ... RESSOUCRES.RC nicht gefunden." -- Delphi hatte sich also irgendwo gemerkt, dass ich früher mal RESSOURCES.RES verwendet habe. Nur wo? Unter Projekt > Ressourcen ist alles leer, andere $R-Befehle kommen nicht vor. Ich habe darauf hin *.dproj und weitere Projekt-Dateien gelöscht und das Projekt neu geöffnet. Damit verschwand dann die Fehlermeldung.

Allerdings wird immer noch keine CODEKEY.RES erzeugt, obwohl die Compilierung fehlerfrei durchläuft!

Dann habe ich {$R CODEKEY.RES CODEKEY.RC } um die Anführungszeichen ergänzt: {$R 'CODEKEY.RES' 'CODEKEY.RC' } -- jetzt erzeugt er eine CODEKEY.RES, aber die Compilierung failed mit entsprechender Fehlermeldung "FilenotFoundException: ... CODEKEY.RC nicht gefunden. Was für ein Widerspruch in sich, wo er doch die RES-Datei erzeugt...

Ich weiß nicht weiter.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz