Ich habe eine benutzerdefinierte Komponente, die einen ziemlich großen (etwa 1MB) UTF8-Text benötigt, um zu funktionieren. Für Entwicklungszwecke habe ich das gerade aus einer Datei geladen. Jetzt möchte ich diese Datei loswerden. Was ist der einfachste Weg, um den Inhalt in der Komponente zu speichern, so dass der Benutzer der Komponente sich nicht darum kümmern muss?Wie kann man einen großen Text in einer Delphi-Komponente speichern?
Zuerst habe ich versucht, die Zeichenkette konstant zu machen, aber bald fing Delphi an, sich auf viele verschiedene Arten zu beschweren (zu lange oder zu viele, zu wenig Speicher usw.). Als ich zum Einbetten es als Ressource eingeschaltet, fand ich, dass die Ressource nicht automatisch in die eigentliche Anwendung als auch kompiliert werden, so dass es zu der Komponente Benutzer nicht transparent ist ...
aktualisiert
ich es bekommen hätte funktioniert, wenn ich selbst eine Ressourcendatei erstelle, die ich manuell zur Einheit hinzufüge. Dann brauche ich noch ein Pre-Build-Event, damit es aktuell ist. Die Frage bleibt, warum es nicht funktioniert, wenn ich es über das Delphi-Menü zum Paket hinzufüge und nicht zur Einheit. Und warum {$R myresource.res myresource.rc}
kompiliert es nicht automatisch, wie es sollte ...?
Update 2
Anscheinend ist der Ressource-Skript muss das Projekt arbeitet für die automatische Zusammenstellung hinzugefügt werden.
Wie haben Sie es als Ressource hinzugefügt? Es sollte auf diese Weise funktionieren und in die Ressourcentabelle der Anwendung eingefügt werden (vorausgesetzt, dass die Ressource zum Zeitpunkt der Erstellung der Anwendung gefunden werden kann). –
@KenWhite Ich ging einfach zu 'Project',' Resources ... 'und fügte die Datei dem Komponentenprojekt hinzu. http://StackOverflow.com/Q/9824396/1163893 hat mich glauben lassen, dass es nie so funktionieren wird, ohne etwas mit dem Anwendungsprojekt zu tun. –