Autor Beitrag
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Do 02.09.10 23:12 
Ok, meinen Post oben bitte ignorieren ;)
ALF Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Do 02.09.10 23:21 
jetzt hast Du mich aber richtig Nervös gemacht. War schon am Suchen mit CS wie man das umsetzt :shock:
Das andere habe ich mir auch schon überlegt, bin aber wieder davon abgegangen. Warum weiss nicht mehr. Oder ich habs nicht hinbekommen oder zu viele Baustellen in meinem Prog.
Anbei, es ist die Darstellung der Wavform, von der kleinsten machbaren Anzeige bis zu kompletten Datei.
Werd aber Deine Vorschläge versuchen umzusetzen :wink:

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Fr 03.09.10 00:15 
Ja, ich hatte irgendwie im Kopf, dass FPeaksR/FPeaksL ausserhalb liegen und alle irgendwie darauf zugreifen. Wieso weiss ich jetzt auch nicht mehr. Wahrscheinlich, weil mit diesen Daten gezeichnet wird.
ALF Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Fr 03.09.10 11:06 
So, hab mal folgendes gamacht im Onresize
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm3.FormResize(Sender: TObject);
begin
    if Assigned(NewThread) then
      if not NewThread.Binfertig then NewThread.Binfertig:= true;

    .....
    .....
end;
und im thread.execute dann
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
while (buflen > 0and (not terminated) do
begin
    while rc >= 1 do
    begin
        if Fbinfertig then terminate;
        .....
        .....
    end;
    .....
    .....
end;

funktioniert auch. Ist aber noch nicht das gelbe vom Ei :roll:

Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Fr 03.09.10 13:19 
Du kannst auch einfach
ausblenden Delphi-Quelltext
1:
FreeAndNil(NewThread);					

schreiben. Der setzt dann Terminated auf True und wartet, bis der Thread beendet ist (dieses Warten fehlt bei dir noch).
ALF Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: Fr 03.09.10 16:51 
Jo, hab es mal so umgesetzt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm3.FormResize(Sender: TObject);
begin
   if Assigned(NewThread) then
   begin
      if not NewThread.Binfertig then
      begin
         NewThread.Terminate;
         NewThread.WaitFor;
         FreeAndNil(NewThread);
      end;
     //if not NewThread.Binfertig then NewThread.Binfertig:= true;
   end;
   ....
   ....
end;
aber schneller ist es auch nicht. Hatte gehofft das es etwas schneller geht als meine Version :wink:
Sieht aber besser aus und man erkennt was gemacht wird. Bei meiner müsste man erst schauen warum ich es so mache :)
BIG THX für Deine Ausdauer :D
Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!