Falsches Ergebnis trotz richtiger Formel

Naja, du könntest es einfach so mitverteilen. Oder bevor du es öffnest, speicherst die Datei irgendwo im temporären Verzeichnis, und wenn der Reader geschlossen wurde löschst es wieder.

Der Code speichert die PDF in einer temporären Datei im Temp Verzeichnis, öffnet sie, wartet bist der Reader geschlossen wird, und löscht sie danach.
Am Besten in einem eigenen Thread starten, sonst kannst dein Programm nicht benutzen solange der Reader noch offen ist.

Wäre eine Möglichkeit..

C#:
string tempPath = System.IO.Path.GetTempPath();
string filePath = System.IO.Path.Combine(tempPath, "meine.pdf");

Stream s = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("...");
using (FileStream fs = File.Create(filePath))
{
	byte[] buffer = new byte[1024];
	int count = 0;
	while ((count = s.Read(buffer, 0, 1024)) > 0)
	{
		fs.Write(buffer, 0, count);
	}
}
s.Close();

Process p = Process.Start(filePath);
p.WaitForExit();
File.Delete(filePath);
(Ungetestet, sollte aber gehen..)
 
das steht bei mir:

byte%#91];buffer = new byte[1024];

ich weiss, dass das [] sein sollte, aber irgendwie funktioniert das sowieso nicht - wo legst du denn den Code drauf?
Sorry, aber ich bin eben kein Experte ;)
 
Also bei meinem Code kann ich keinen (Syntax-)Fehler finden, musst du irgendwas falsch gemacht haben, zeig mal deine Version bitte.

Oh,.. Mh.. Sehe gerade in der Antwortliste beim Beitrag schreiben..

Hast du byte & # 9 1 ; ] (ohne Leerzeichen natürlich) oder byte[]? (Letzteres wäre das Richtige ;) - Array halt..)
 
Ist kein Script. ;)

Naja, in eine Methode wohl am Besten. Wie du sie aufrufst ist mir egal. Ich selbst benutze das nirgendwo. Einbauen solltest es schon können.

Kannst von mir aus vorerst, zum Testen in den EventHandler von einem Button geben.
 

Neue Beiträge

Zurück