AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Sounds Problem

Ein Thema von Windowscratcher · begonnen am 9. Mai 2012 · letzter Beitrag vom 20. Mai 2012
Antwort Antwort
Seite 1 von 2  1 2      
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#1

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 15:13
@Dalai Hab mal den Debugger laufen lassen (F8) und der hat ganz normal compiliert. Dann hab ich F7 ausprobiert und dann haben sich ganz viele andere Units geöffnet. Ich bin überhaupt nicht zu meinen Programmcodes gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 15:18
Tipp: Haltepunkt(e) dort setzen, wo es mit dem Debuggen losgehn soll.
Dann mit F9 beginnen und so lange mit F7/F8 weitermachen, bis man den Code durch hat. Oder mit F9 weiter bis zum nächsten Haltepunkt.

(es gibt auch noch mehr nützliche Tasten-Kombinationen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#3

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 15:25
@Dalai Hab mal den Debugger laufen lassen (F8) und der hat ganz normal compiliert.
Natürlich hat er das, sofern keine Syntaxfehler drin sind.

Zitat:
Dann hab ich F7 ausprobiert und dann haben sich ganz viele andere Units geöffnet. Ich bin überhaupt nicht zu meinen Programmcodes gekommen
Deshalb der Hinweis auf die Haltepunkte. Der Sinn dahinter ist, Schritt für Schritt durch den Code zu gehen, aber alle unwichtigen Units außen vor zu lassen. Setz mal einen Haltepunkt in der Zeile 45 der Unit1 (if FileExists() ), indem du auf die Zeilennummer in deinem Lazarus klickst. Dann wird die Zeile rot hinterlegt und wenn du nun dein Programm ganz normal (mit F9) ausführst, hält der Debugger an genau dieser Stelle an, wenn du auf den OptionenBtn klickst. Und erst jetzt kommt das F7 bzw. F8 zum Einsatz.

Ich hoffe, die Sache ist nun etwas klarer.

MfG Dalai


PS: Wobei mich etwas wundert, dass solche Grundlagen nicht schon vermittelt wurden, denn solch theoretische Sachen sollten vor dem Praxiseinsatz schon bekannt sein, um sinnvoll arbeiten zu können. Und dazu zähle ich auch die Kenntnis der Begrifflichkeiten wie "kompilieren" & Co aus dem früheren Verlauf der Diskussion.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 15:29
oder ohne Haltepunkte, aber nur wenn man Geduld hat (oder neugierig ist)
F8 bis zu "Application.Run;"
dann
F7 und man ist in seinem Programm.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#5

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 15:54
Ich verstehe noch nicht ganz, was der bewirken soll.
Ich hab mal Zeile 40 markiert, und dann F9 gedrückt. Dann hat sich das Programm gestartet und danach hat das Programm wieder zur Unit gewechselt. Es hat als erstes "begin" grün markiert (falls es nicht grün ist, wisst ihr, dass ich eine Rot-Grün Sehschwäche hab ), dann die nächste Zeile "FilePath := ....", dann wieder die nächste "if..." und dann hat es einfach alles bis zum nächstgelegenen "end" übersprungen und danach ist es zum "end" des OptionenBtn gegangen. Dann haben sich wieder die Unit-Fenster geöffnet...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 16:16
@p80286:

Ich weiß nicht wie es in Lazarus aussieht, aber
geh im Delphi mal in die Projektoptionen, aktiviere dort "Mit Debug-DCUs kompilieren" und nun schau was bei deinem F7 passiert.
(alle Delphi-Versionen ala Standard, Personal, Starter und Trial sind davon ausgeschlossen)

Auch drittanbieter Units, welche mit Debiginfos kompiliert sind, machen diesbezüglich sehr viel Spaß.
(Eurekalog, DevExpress und Co. sind diesbezüglich der pure Horror)

In einigen älteren Delphis gibt es den spaß, daß alle beigelegten Indy-Units mit Debuginfos kompiliert wurden.
(obwohl eigentlich/theoretisch zwei Varianten bei lagen, aber leider waren auch die NonDebug-Dateien mit Debuginfos versehn )
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Mai 2012 um 16:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 17:14
@p80286:

Ich weiß nicht wie es in Lazarus aussieht, aber
geh im Delphi mal in die Projektoptionen, aktiviere dort "Mit Debug-DCUs kompilieren" und nun schau was bei deinem F7 passiert.
Hab ich Blödsinn geschrieben?
Debug-DCUs hab ich nicht aber Linker: DCUs erzeugen reicht doch?

Ein Programm"start" mit F8 stept brav durch die DPR
Delphi-Quellcode:
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.
Sobald der Cursor in Application.Run; steht F7 und ich bin in meinem eigenen Geschreibsel.

?Lazarus? damit hab ich (noch) nichts am Hut.

Sollte das bei Programmstart angezeigt werden? Bei mir tut sich nichts... Kann ich das auch mit dem Befehl "Panel2.Caption:='...'" machen ?
Sobald der String mit dem Pfadnamen erstellt ist sollte ein Meldungsfenster aufgehen und den Pfadnamen anzeigen. Ist das nicht der Fall, wird PlayMySound nicht aufgerufen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (10. Mai 2012 um 17:21 Uhr) Grund: Zusatz
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#8

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 17:53
@p80286: Ich find die Option nicht... Ich habe jetzt aber den Befehl "ShowMessage(FilePath) Mal VOR den "IF" Satz getan und siehe da: Er erscheint. Wenn er aber im IF Satz steht, passiert nichts. Was muss ich jetzt machen?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#9

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 16:23
Und was verstehst du jetzt daran nicht? Das von dir beobachtete Verhalten ist der abgelaufene Codefluss oder Block von Anweisungen, die wirklich ausgeführt wurden. Hast du dich noch nicht gefragt, wie man feststellt, ob ein Programm die Anweisungen ausführt, die man sich im Kopf vorstellt? Genau dafür sind der Debugger und die Haltepunkte da (es gibt noch mehr Dinge, aber die sind weniger wichtig).

Im Konkreten hast du also festgestellt, dass Anweisungen übersprungen wurden, die deiner Meinung nach ausgeführt werden sollten. Nun weißt du, welche das sind und solltest untersuchen, warum das so ist. Am einfachsten ist es wohl, sich den Pfad der abzuspielenden Datei mal mittels ShowMessage anzeigen zu lassen und zu prüfen, ob's diese Datei wirklich gibt. In Codeform:
Delphi-Quellcode:
procedure PlayMySound(SndName: String); //uses mmSystem
var
  FilePath: String;
begin
  FilePath := ExtractFilePath(ParamStr(0)) +'Musik\' + SndName + '.wav';
  ShowMessage(FilePath); //<-- Diese Zeile hinzugefügt
  if FileExists(FilePath) then
    //SndPlaySound(PAnsiChar(FilePath), SND_ASYNC ); //Alternative
    PlaySound(PChar(FilePath), hInstance, SND_ASYNC or SND_FILENAME);
end;
MfG Dalai
  Mit Zitat antworten Zitat
Windowscratcher

Registriert seit: 9. Mai 2012
24 Beiträge
 
#10

AW: Delphi Sounds Problem

  Alt 10. Mai 2012, 16:31
@Dalai Okay, danke für die Erklärung Werde es mal gleich ausprobieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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