AGB  ·  Datenschutz  ·  Impressum  







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

Debugger Krise

Ein Thema von EWeiss · begonnen am 9. Mai 2011 · letzter Beitrag vom 10. Mai 2011
Antwort Antwort
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Debugger Krise

  Alt 10. Mai 2011, 06:28
Hallo,

ich glaube das was ULIK versucht hat klar zu machen ist, dass du oft diesen Code hier hast:byte(FileInfo.MIDINotes[IntA]) .
Wenn man deiner Record-Deklaration vertrauen darf, dann ist aber MIDINotes ein array[..] of array of TMIDINote (hier ja ohne s). Wenn du dieses Record auf ein Byte "reduzierst", dann siehst du wahrscheinlich nur das erste Byte von TMIDINote.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Debugger Krise

  Alt 10. Mai 2011, 06:30
Hallo,

ich glaube das was ULIK versucht hat klar zu machen ist, dass du oft diesen Code hier hast:byte(FileInfo.MIDINotes[IntA]) .
Wenn man deiner Record-Deklaration vertrauen darf, dann ist aber MIDINotes ein array[..] of array of TMIDINote (hier ja ohne s). Wenn du dieses Record auf ein Byte "reduzierst", dann siehst du wahrscheinlich nur das erste Byte von TMIDINote.

Gruß, Chris
Versteh aber was soll ich übergeben ?
Eine Idee?

Denn wie du gelesen hast
Zitat:
[DCC Fehler] uMidiTracker.pas(451): E2010 Inkompatible Typen: 'Integer' und 'Dynamic array'

bekomme ich einen Fehler!
Bei low Irrationale werte und bei high stürzt die Anwendung ab.

EDIT:
Schau mal oben im Thread "Bild 3" dann kannst du sehen was ich vom Debugger geliefert bekomme
Und die werte stimmen alle werden aber falsch übergeben/ausgelesen vom Compiler.


gruss

Geändert von EWeiss (10. Mai 2011 um 06:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Debugger Krise

  Alt 10. Mai 2011, 06:41
Hallo EWeiss,

ich kann natürlich nicht die Semantik Deines Codes kennen - also das wie und warum soll es funktionieren. Da bin ich nicht im Code und vor allem im Problem drinne.

Ich würde aber mal Tippen, dass du eher schreiben müßtest FileInfo.MIDINotes[IntA].NoteN o übergeben. Aber wie gesagt, ich kenne die Logik nicht, bzw. das Ziel nicht.

Es kann ja genauso gut sein, dass du nur IntA brauchst, da du ja durch alle Tracks durch gehst (IntI) und in jedem Track durch alle Noten (IntA). Passend zu dem Aufbau des Records ist bei MIDINotes die erste Stelle der Track / Channel und die zweite Stelle die Note -> FileInfo.MIDINotes[IntI, IntA] liefert dir TMIDINote Nummer IntA von Track / Channel IntI.
Davon betrachtest du ja meist die NoteNo

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Debugger Krise

  Alt 10. Mai 2011, 06:43
Aber die Meldung sagt doch schon das da was falsch ist!
Der Typ ist ein dynamisches Array aber ein Integer wird wohl erwartet? Also hast du es dir einfach gemacht und das dynamische Array auf ein Byte gecastet.
Aber wäre es nicht richtiger auf die Werte des dynamischen Arrays zu zugreifen als das Array selbst (welches ja nur ein Pointer ist) auf ein Byte zu casten?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Debugger Krise

  Alt 10. Mai 2011, 06:52
Aber die Meldung sagt doch schon das da was falsch ist!
Der Typ ist ein dynamisches Array aber ein Integer wird wohl erwartet? Also hast du es dir einfach gemacht und das dynamische Array auf ein Byte gecastet.
Aber wäre es nicht richtiger auf die Werte des dynamischen Arrays zu zugreifen als das Array selbst (welches ja nur ein Pointer ist) auf ein Byte zu casten?
Es sieht so aus das ich etwas falsch mache.
Es ist aber doch seltsam das der Tooltip mir andere werte anzeigt die
exakt stimmen nur nicht richtig ausgewertet werden.

Ich habe es auch schon als Integer versucht ist das selbe problem bzw.. auch hier stürzt
die Anwendung ab.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:57 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