Moin,
ich hab da grad ein kleines Problem. Und zwar habe ich das Problem dass unsere Datenbank noch auf 32bit läuft, da es irgendwelche Probeleme mit einer alten Software gibt, welche im Moment noch nicht ausgetauscht werden kann. Ich habe einen REST-Service über DataSnap geschrieben der unter 64bit einwandfrei funktioniert. Unter 32bit bekomme ich allerdings eine Accessviolation.
Es geht um folgenden Code:
Delphi-Quellcode:
mStream.LoadFromFile(mFilename);
mStream.Position := 0;
Response.ContentStream := mStream;
Response.Content := AnsiString(mStream);
Response.ContentType := 'application/pdf';
Response.SetCustomHeader('Content-Disposition',
Format('attachment; BelegID="%s"', ['Abrechnung'])); // Derzeit nur Abrechnungsbelege
Ersetze ich ihn durch folgenden Code geht es:
Delphi-Quellcode:
Response.Content := 'Test';
Response.ContentType := 'text/plain';
Von daher vermute ich dass es mit der PDF-Datei zusammenhängt die als Datenstream zurückgegeben wird. Die Funktion läuft über ein TWebModule und ist dort als Action registriert. Kann mir da vielleicht irgendjemand weiterhelfen, wie ich den Response schreiben muss, damit er unter 32bit funktioniert? Über 64bit würde es gehen, aber das ganze muss schnell online gehen und das Upgrade auf 64bit für den Server auf dem das laufen soll ist erst für ende des Jahres vorgesehen.
Über ein kleines bisschen Anschubhilfe währe ich euch wahnsinnig dankbar, wei momentan bin ich grad echt ratlos was ich da noch machen soll.
Vielen Dank schon einmal im Voraus.
Viele Grüße
Maliko
EDIT: Ich habe jetzt nur den Snippet gepostet der Probleme macht. Die Funktion ist erheblich länger, läuft aber problemlos durch.