![]() |
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Liste der Anhänge anzeigen (Anzahl: 1)
Ich schrieb doch a) welche Datei und b) welche Zeile
Im Anhang für Leute die mich nicht Verstanden haben das komplette Projekt so wie es bei mir gerade läuft. Eventuell EurekaLog auskommentieren, das hab ich nachträglich aktiviert. Danke Harry, hast Du ne Antwort WARUM man es ändern muss? Weil in nem anderen Thread mir wiederholt auf ohne A/W und PChar als das einzig Wahre. Worin liegt da nun der Fehler? |
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Zitat:
Dein Beitrag! Zitat:
gruss |
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Das ist korrekt. (das da noch Probleme enthalten sind)
Alles nicht super stabil plus EurekaLogs "hat Speicherleks" Anzeige der ich jetzt noch nicht weiter nachgegangen bin. Ich konnte jedenfalls erfolgreich aus den Samples ein Avi erstellen. Ps: Ich bin der Meinung, das die Fehler nur in dem Demo-Programm, was die Demo sich selbst betrifft angehen. Also was die VfW Anbindung betrifft, die scheint gut zu sein aber sobald man in Gui darauf lesend zugreift, da treten Fehler auf, in Demo-Gui, nicht VfW. |
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Zitat:
In der VFW.pas unit gibt es ganz am Anfang ein
Delphi-Quellcode:
und weiter unten ein
{$UNDEF UNICODE}
Delphi-Quellcode:
daher wird in Deinem Unicode-Delphi mit "AVIFileOpen" die untere Funktion aufgerufen, wo dann in dem Ursprungscode ein Widestring an eine Funktion übergeben wird, die einen Pointer of Ansistring erwartet.
{$IFDEF UNICODE}
function AVIFileOpen(var ppfile: IAVIFile; szFile: LPCWSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall; {$ELSE} function AVIFileOpen(var ppfile: IAVIFile; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult; stdcall; {$ENDIF} Unter einem Delphi 2007 müsste der Code daher direkt compilieren. Man hätte alternativ auch
Delphi-Quellcode:
machen können, das kompiliert und hätte mit normalen Dateinamen auch funktioniert, aber eben nicht mit Unicode-Dateinamen.
if AVIFileOpen(pfile, PAnsichar(AnsiString(WorkFile)), OF_WRITE or OF_CREATE, nil) <> AVIERR_OK then
Insofern ist Deine Lösung korrekt hier. Evtl. könnte aber noch besser sein, das Undef Unicode zu entfernen (dann stimmt der Original-Code wieder hier, nur unter TAVICreator muss man
Delphi-Quellcode:
Vielleicht funktionierts dann insgesamt besser, aber das war jetzt nur ein kurzer Blick drauf, muss ich mir noch genauer ansehen...
asi: TAVIStreamInfoA; in asi: TAVIStreamInfoW; ändern.
|
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Ja das brachte mich total durcheinander, ich sah ja auch die {$IFDEFs} und wunderte mich, warum zum Henker nimmt der da Ansi anstelle wie vom Compiler vorgegeben Wide.
Nach einem {$UNDEF} zu schauen, darauf muss man erstmal kommen, super Lösung, UNDEF raus und zurück zum original source. bzw erstmal in VfW.pas gucken was davon noch betroffen ist :) |
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Warum nehmt ihr nicht einfach eine Version der vfw.pas, die mit Unicode Delphi klar kommt? Dann stört im TAVICreator nur noch die Festlegung von asi als AnsiVersion. Die einzige Änderung ist dann von TAVIStreamInfoA das "A" zu entfernen.
|
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Danke für den Hinweis Ydobon!
|
AW: Bitmaps als AVI-Vido / MPEG-Video speichern
Vielleicht hilft
![]() Ist zwar kein Delphi, aber naja ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz