![]() |
Re: Webcam Bild (JPG) per FTP-Uploaden
Problem:
Es werden nur 9 Bilder gemacht, danach hört "es" einfach auf. Woran kann das liegen? Muss ich jpegimage clearn? |
Re: Webcam Bild (JPG) per FTP-Uploaden
Bitte irgend jemand muss das doch wissen! Bitte, ihr habt mir schon soviel geholfen: Ihr wisst es, ich nicht :(
-i-n- |
Re: Webcam Bild (JPG) per FTP-Uploaden
Setz einfach mal einen Breakpoint(F5) in der Prozedur und lass die Anwendung laufen. Dann siehst du was passiert.
Wird die Prozedur vielleicht nicht mehr aufgerufen? Oder stimmt ein Bedingung nicht? |
Re: Webcam Bild (JPG) per FTP-Uploaden
Kann es auch daran liegen, dass Timer1, und somit das capturen und saven der bilder, zu schnell hintereinander aufgerufen werden? (3sec delay).
edit: wäre es nicht besser, das ganze so aufubauen:?
Delphi-Quellcode:
Was ich damit erreichen möchte ist klar: Es soll immer erst alles abgearbeitet werden, und nicht im Sekundentakt aufgerufen werden, da ich mir nicht sicher bin, ob Timer1 nicht schon neuaufruft, bevor die Schritte abgearbeitet sind. Ist das wirklich so?var x:integer = 0; y:integer = 0; begin while x=y do begin ... //x,y sind immer 0, bis ich die Prozedur beenden will. end; end; Gruß i-n ADD(11:23): Ich habe es mit der nie endenen While-Schleife versucht, Ergebnis: "Nicht genügend Speicher" wird mir "vorgeworfen" (Hab 1gb Ram) Woran liegts? Hätte vielleicht jemand Lust und Zeit mir das per ICQ/MSN zu erklähren? |
Re: Webcam Bild (JPG) per FTP-Uploaden
Ich denke, ich weiss woran es liegen könnte:
Delphi-Quellcode:
SendMessage(handle, WM_CAP_DRIVER_CONNECT, 0, 0); //verbinden: das wir bei jedem Aufruf vom Timer (1sec) mit aufgerufen
begin
handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0, 0, 640, 480, Panel1.Handle, 1);
Delphi-Quellcode:
Es könnte doch sein, wenn er sich zuoft Connected hat, dass er dann damit aufhört und dann auch den Rest (Bild in Image1 zeigen) nicht mehr ausführt.SendMessage(handle, WM_CAP_SET_PREVIEWRATE, 30, 0); //setRate sendMessage(handle, WM_CAP_SET_OVERLAY, 1, 0); //setOvl SendMessage(handle, wm_cap_set_preview, 1, 0); //prev SendMessage(handle, WM_CAP_EDIT_COPY, 1, 0 );//save Bitmap -> Clipboard Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0); //Clipboard (Bitmap) -> Image1 //... end; Meine Frage: Wie kann ich das "Rote" nur einmal ausführen? |
Re: Webcam Bild (JPG) per FTP-Uploaden
:shock:
Du initialisierst die Kamera jedesmal neu... Ruf die Prozedur dafür nur einmal auf, in den Speicher-Timer kommt dann nur das für das Speichern. Und das Konstrukt mit x=y ist sinnlos! was du aber machen solltest ist, am Anfang des Timers diesen .enabled auf false und am ende wieder auf true zu setzen. |
Re: Webcam Bild (JPG) per FTP-Uploaden
jep so habe ich das auchschon ausprobiert: In Form1.Create das Connecten zu Cam; und dann das saven in Timer, aber wenn ich das so versuche, dann hat er immer Probleme mir der var handle:THandle.
|
Re: Webcam Bild (JPG) per FTP-Uploaden
das handle musst du (form-)global deklarieren.
|
Re: Webcam Bild (JPG) per FTP-Uploaden
ich habe es hier deklariert:
Delphi-Quellcode:
Aber es kommt immer wieder dieser Fehler:
//...
public { Public declarations } end; var Form1: TForm1; handle:Thandle; const //... Zitat:
Delphi-Quellcode:
handle := capCreateCaptureWindow('Video',ws_child+ws_visible, 0,0, 640, 480, Panel1.Handle, 1);
|
Re: Webcam Bild (JPG) per FTP-Uploaden
Jop, du kommst hier in konflikt mit TForm1.Handle. Nenn deine Variable lieber "CamHandle".
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 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-2025 by Thomas Breitkreuz