Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rave - StoreRAV und das virtuelle Wissen... (https://www.delphipraxis.net/62277-rave-storerav-und-das-virtuelle-wissen.html)

Glühwürmchen 2. Feb 2006 10:41


Rave - StoreRAV und das virtuelle Wissen...
 
Hi alle & Hi Merlin,

es grenzt beinahe an Zauberei, aber anders kann ich mir folgende Situation nicht erklären:

Habe ein DB-Projekt (nennen wir es einmal "MagieBerichte") mit einer Menge Berichte. Alle Berichte sind in einer einzigen Datei vereint --> "Zauberei.rav". Der Rave-Komponente "TRvProject" habe ich über die Eigenschaft "StoreRAV" verraten, wo die Datei "Zauberei.rav" zu finden ist. Anschließend habe ich mein Delphi-Projekt neu erzeugt ("MagieBerichte.exe") und alle beteiligten Dateien im VSS eingecheckt.

Soweit die Vorarbeiten.

Jetzt kam die Frage auf, wie ich mir einfallen lassen könnte, irgendwo im Delphi-Projekt ("MagieBerichte") einen hardcodierten Pfad zu hinterlegen (gemeint war der Pfad in der Eigenschaft "ProjectFile" von "TRvProject"). Und ich solle doch gefälligst dort einen relativen Pfad eintragen!

GEHT DAS?

Ich versuchte zu erklären, daß das gar nicht nötig sei, daß dieser Pfad nur dann gebraucht würde, wenn die Datei "Zauberei.rav" eine Änderung erfahren habe. Und um das zu beweisen machte ich die Probe auf's Exempel. Und jetzt wirds wahrhaft magisch:

Ich sicherte also auf meinem Rechner alle Dateien des Projekts ("MagieBerichte") und löschte sie anschließend an ihrer ursprünglichen Position. Dann rief ich die jeweils neueste Version der Dateien aus dem VSS wieder ab. Jetzt ließ ich die Datei "Zauberei.rav" durch einen mächtigen Zauber verschwinden.
Ich hatte also mein Projekt ("MagieBerichte"), mit allem was dazugehört außer der Datei "Zauberei.rav". Der Pfad in der Eigenschaft "ProjectFile" von "TRvProject" zeigte ins Leere.
Jetzt drückte ich Shift-F9 und erzeugte damit die neue .Exe "MagieBerichte.Exe". Das tat der Compiler ohne zu murren. Der anschließende Testlauf zeigte mir ein paar wunderschöne Magieberichte...

Und nun meine Frage:
WIE SOLL ICH MEINEM KOLLEGEN ERKLÄREN, WOHER DELPHI WEISS, WIE DIE BERICHTE AUSZUSEHEN HABEN, WENN DOCH DIE BERICHTEDATEI ("Zauberei.rav") GAR NICHT DA LIEGT, WO ICH ES IM PROJEKT ANGEGEBEN HABE??

Gruß
Glühwürmchen

merlin17 2. Feb 2006 12:15

Re: Rave - StoreRAV und das virtuelle Wissen...
 
Hallo Glühwürmchen,

schön geschrieben :thumb:

ich hoffe ich habe es richtig verstanden...
Mit StoreRav wird der RAV-stream (mehr ist die RAV-DAtei nicht) komplett
in der dfm gespeichert, d.h. die rav muss gar nicht mehr physikalisch existieren
(ausser man will was ändern :witch: ).

Auszug aus der dfm mit einem RvProject-storeRav-Report:
Delphi-Quellcode:
object RvProject1: TRvProject
    Engine = RvSystem1
    ProjectFile = 'xyz.rav'
    OnCreate = RvProject1Create
    Left = 8
    Top = 448
    RaveBlobNew = {
      983D0000487037A0BBE3E2405241561A459C00000000075265704D414B550013
      545261766550726F6A6563744D616E616765720B5261766550726F6A65637408
      0D436F6D70696C654E6565646564000546616C73650846756C6C4E616D65060B
      5261766550726F6A6563740A43617465676F7269657308000A506172616D6574
      65727308000650495661727308000B556E697473466163746F72050000000000
      000080FF3F0000060A445642656E75747A65720D545261766544617461566965
      7700C9020000000D545261766544617461566965770A445642656E75747A6572
      080D436F6D70696C654E656564656400
d.h. man könnte (habe ich noch nie darüber gedacht) über RvProject1.LoadRaveBlob()
eine Store-Möglichkeit auch über andere Streammöglichkeiten (mit relativem
Speicherort) realiseren....


:-) thomas, TeamNevrona

Glühwürmchen 2. Feb 2006 13:59

Re: Rave - StoreRAV und das virtuelle Wissen...
 
Danke schön.

Das ist genau die Antwort, die ich zu erhalten gehofft habe!

:dancer2:

merlin17 2. Feb 2006 14:23

Re: Rave - StoreRAV und das virtuelle Wissen...
 
you're welcome!

viel spass weiterhin mit Rave;

:-) thomas, TeamNevrona


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 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