Thema: Delphi Hilfe Bei Video Program

Einzelnen Beitrag anzeigen

serasa

Registriert seit: 5. Feb 2009
3 Beiträge
 
#4

Re: Hilfe Bei Video Program

  Alt 4. Dez 2009, 17:55
Zitat von hoika:
Hallo,

Zitat:
und einer kleinen steuerspannung über einen taster
Was für ein Taster ?
wie wird er denn angesteuert ?

Zitat:
der teil mit dem programm code müsste so aussehen laut hersteller
Welcher Programm-Code, die "Aufnahme" ?


Ein bissel mehr Info bitte.


Heiko

taster ist ein schließer ganz herkömmlich mit einer steuerspannung von 12volt, der steuert eine optokoplerkarte an, die wurde im pc mit usb verbunden. mit dem code

Delphi-Quellcode:
while QApiExtReadDl1(...) = 0 do
  Application.ProcessMessages;
kann man nun abfragen und was damit anstellen, habe das so probiert:

Delphi-Quellcode:
Label1.Caption := 'Bereit, warte...';
while QApiExtReadDl1(...) = 0 do
  Application.ProcessMessages;
ShowMessage('ausgelöst');
funktioniert auch sehr gut.



Zitat von himitsu:
Das mit den paar mehr nötigen Infos wurde ja schon gesagt,
darum solange erstmal was Anderes:

Deine Warteschleifen laßten die CPU zu 100% aus, da sie nichts anderes Machen, als durchgehend etwas abzufragen und notfalls auszuführen.
'ne kleine Pause schafft Abhilfe
Delphi-Quellcode:
repeat
  Sleep(50);
  Application.ProcessMessages;
until TimerStatus<>TSvideoFolge;
...
repeat
  Sleep(50);
  Application.ProcessMessages;
  label1.Caption:=inttostr(timer1.interval)+'x'+inttostr(Timerstatus);
until TimerStatus<>TSvideoFolgePause;
Und bei Problemen (Exceptions) dürften einige Dinge nicht ordnungsgemäß beendet werden
z.B. würde Aufnahme auf True verbleiben.
ein paar Try-Finally-Schutzblöcke würden hier helfen.

Wird Timer1 auch irgendwann wieder abgestellt?

Ansonsten scheint mir der Programmablauf innerhalb des einen Buttons unglücklich gewählt und ich wirde darin nur den Start einleiten und den Rest über verschiedene/entsprechende Ereignisse steuern.
leider bin ich noch ziehmlich weit am anfang von richtigem programier verständnis^^ aber das erklärt schonmal warum die cpu immer ausgelastet ist danke für den teil^^

zum eigendlichen dann noch ich wollte das wie bei dem teil mit dem ausgelöst
Delphi-Quellcode:
Label1.Caption := 'Bereit, warte...';
while QApiExtReadDl1(...) = 0 do
  Application.ProcessMessages;
ShowMessage('ausgelöst');
hier wurde nun nach knopfdruck das ausgelöst angezeigt und ich wollte das nun so haben , das nun die aufnahme startet ohne irgendwelche vorbedingungen^^
  Mit Zitat antworten Zitat