danke Euch einmal.
Zitat von
OregonGhost:
Du weist der Referenz bmp zunächst ein neues Objekt zu (Rückgabewert des Konstruktors, wenn man so will), und dann weist du ihm ein anderes Objekt zu (Image1.Picture.Bitmap). Du kannst entweder den Konstruktoraufruf weglassen (dann muss dir klar sein, dass du dasselbe Objekt referenzierst), oder statt der Zuweisung machst du bmp.Assign(Image1.Picture.Bitmap), dann wird die Bitmap nach bmp kopiert.
jop, wenn ich das Create weglasse, gibt es auch kein Problem. Bis dato die beste Lösung.
Zitat von
turboPASCAL:
[delphi]
bmp.Assign( Image1.Picture.Bitmap ); // <--<<
Das entfernt die "invalid pointer operation" meldung, führt aber zu einer allgemeinen Schutzverletzung. Was wohl nicht an Deiner Lösung liegt sondern an einem Seiteneffekt mit dem Avicreator (siehe unten)
Zitat von
M. Hassmann:
so wie der quelltext dort steht müsste man free aufrufen.
was machst du denn zwischen durch?
es sollen/werden mehrere bitmaps aus images erstellt und die via AVICreator in ein AVI-File geschrieben. Das geht auch schon problemlos über andere Wege (bitmaps aus der clipboard einfügen). Wenn ich das bitmap aber wie oben zuweise (create, assign, free - oder auch create, := und free) gibt es beim Beenden Fehlermeldungen.