AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi OLE-Instanz von Word mit Datei aus Datenbank füttern
Thema durchsuchen
Ansicht
Themen-Optionen

OLE-Instanz von Word mit Datei aus Datenbank füttern

Ein Thema von Alloc · begonnen am 20. Feb 2006 · letzter Beitrag vom 21. Feb 2006
Antwort Antwort
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#1

OLE-Instanz von Word mit Datei aus Datenbank füttern

  Alt 20. Feb 2006, 23:02
Datenbank: AbsoluteDB • Version: 5 • Zugriff über: SQL
Hi alle,

erstmal sorry falls das nicht ganz in Datenbanken passt... wusste einfach nicht wo die Frage rein sollte

Zum Thema:
Ich habe hier ein Programm welches in einer SQL-Datenbank Word-Dateien enthält. Nun will ich, dass ich aus dem Prog heraus eine OLE-Word-Instanz starten kann und in der soll dann eine dieser Word-Dateien aus der Datenbank geladen werden. Möglichkeit 1 wäre ja einfach die Datei vorher auf die Festplatte zu schreiben und dann ganz normal öffnen. Das ist aber (grad bei vielen Dateien, wozu es schnell kommen wird) ziemlich unschön. Daher würde mich mal interessieren, ob man Word (per OLE) irgendwie beibringen kann, die Daten zB aus einem MemoryStream von Delphi zu laden oder die Daten direkt irgendwie einfach nach Word übertragen kann (quasi die Binärdaten aus dem Stream)?

mfG
Chris
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: OLE-Instanz von Word mit Datei aus Datenbank füttern

  Alt 21. Feb 2006, 08:21
Soweit ich weiss, geht das nicht. Du kannst aber die Datei in eine Windows-Temp-Datei schreiben. Die wird dann beim nächsten Windows-Start automatisch gelöscht (oder beim Runterfahren?)

Delphi-Quellcode:
function TempPath: string;
var
  i: integer;

begin
  SetLength(Result, MAX_PATH);
  i := GetTempPath(Length(Result), PChar(Result));
  SetLength(Result, i);
  IncludeTrailingPathDelimiter(Result);
end;

function TempFilename: string; // <--- Die ist was für Dich
begin
  SetLength(Result, MAX_PATH + 1);
  GetTempFileName(PChar(TempPath), 'BLA', 0, PChar(result));
  Result := PChar(Result);
end;
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: OLE-Instanz von Word mit Datei aus Datenbank füttern

  Alt 21. Feb 2006, 17:21
Zitat von alzaimar:
Soweit ich weiss, geht das nicht. Du kannst aber die Datei in eine Windows-Temp-Datei schreiben. Die wird dann beim nächsten Windows-Start automatisch gelöscht (oder beim Runterfahren?)
Stimmt nicht. Auszug aus der Win32-Hilfe:

Zitat:
When Windows shuts down, temporary files whose names have been created by this function are not automatically deleted.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#4

Re: OLE-Instanz von Word mit Datei aus Datenbank füttern

  Alt 21. Feb 2006, 21:21
Danke für eure schnellen Antworten ...

@alzaimar:
Ich denke es ist dabei relativ egal, ob ich das Ganze kurz in "Temp"-Dateien schreibe oder einfach in eine "normale" Datei und die danach lösche
Das Dumme ist halt, dass ich da durchaus mal aus der DB so 20 Word-Docs rausholn müsste, auf die HD schreiben und dann von da nach Word laden ... wäre deswegen halt wesentlich schöner, wenn ich entweder die Binärdaten in Word laden oder eine Art MemoryStream dort laden könnte. Aber bleibt mir wohl scheinbar nichts andres übrig als der Umweg über Dateien ...

mfG,
Chris
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:45 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