AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls C++ Faszinierendes Problem mit Virtual String Trees (BCB6)
Thema durchsuchen
Ansicht
Themen-Optionen

Faszinierendes Problem mit Virtual String Trees (BCB6)

Ein Thema von Assarbad · begonnen am 10. Apr 2012 · letzter Beitrag vom 10. Apr 2012
Antwort Antwort
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#1

Faszinierendes Problem mit Virtual String Trees (BCB6)

  Alt 10. Apr 2012, 20:25
Hallöchen,

also ich habe derzeit ein faszinierendes Problemchen mit VSTs (aktuellste Version von Soft-Gems) zusammen mit BCB6.

Die Header welche Mike mitliefert, verursachen Fehler (im speziellen VirtualTrees.hpp), so daß ich meine lokale Version einbinde. Funzte bis vor kurzem wunderbar, aber nun bekomme ich einen Fehler, der sich vermutlich auf die verschiedenen Versionen der Header zurückführen läßt (Vermutung!).

Folgender Schnipsel:

Code:
#pragma option push -b-
enum TVTLineType { ltNone, ltBottomRight, ltTopDown, ltTopDownRight, ltRight, ltTopRight, ltLeft, ltLeftBottom };
#pragma option pop
gehört nämlich vor:

Code:
struct TVTPaintInfo;
struct TVTImageInfo;
typedef DynamicArray<TVTLineType > TLineImage;
und nicht dahinter, wie in den mitgelieferten Headern.

Allerdings - und obwohl dies nachweislich der einzige Unterschied zwischen meinen Headern und den mitgelieferten ist - bekomme ich jetzt eine Ausnahme vor den Kopf gehauen wenn ich OnHeaderClick meines VST setzen will. Die mitgelieferten Header und meine deklarieren das so ...

Code:
struct TVTHeaderHitInfo;
typedef void __fastcall (__closure *TVTHeaderClickEvent)(TVTHeader* Sender, const TVTHeaderHitInfo &HitInfo);
meine Deklaration (die der Definition entspricht):

Code:
void __fastcall vstQuarantineHeaderClick(TVTHeader *Sender, const TVTHeaderHitInfo &HitInfo);
Ich seh nicht wo das Problem ist.

Habe auch versucht den Virtualtress-Namensraum vor die Typen zu stellen um zu qualifizieren was ich genau haben will, aber es bringt alles nichts. Dieser Fehler wird geworfen (nur eben in BCB6): Property and method <MethodName> are not compatible.

Hat jemand eine Idee?
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Faszinierendes Problem mit Virtual String Trees (BCB6)

  Alt 10. Apr 2012, 20:37
Ich kann das zwar nur über Delphi sagen, aber so ein Problem hatte ich mit dem VST auch mal.

IIRC hat sich die Parameterliste dieses Events in den letzten paar Versionen mehrfach geändert. Um die Parameterliste kurz zu halten, wurden mal diverse Parameter in das struct/record HitInfo zusammengefügt.
Dann hat Mike festgestellt, dass das nicht so gut abwärtskompatibel ist, hat das wieder rückgängig gemacht und die Parameterliste wieder in die alte Version zurück geändert.

Da bleibt wohl nur, die Events im Code anzupassen. Ich hab das zweimal machen müssen - einmal hin und wieder zurück.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#3

AW: Faszinierendes Problem mit Virtual String Trees (BCB6)

  Alt 10. Apr 2012, 20:50
Da bleibt wohl nur, die Events im Code anzupassen. Ich hab das zweimal machen müssen - einmal hin und wieder zurück.
Aber wie? Würde ich ja machen, wenn ich begreifen könnte wo die sich unterscheiden. Deshalb habe ich ja Prototyp und meine Ereignisfunktion beigefügt. Die sind doch quasi identisch oder bin ich betriebsblind?
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Faszinierendes Problem mit Virtual String Trees (BCB6)

  Alt 10. Apr 2012, 21:01
Hängt da vielleicht noch irgendwo eine alte Version rum, die die anderen Parameter nutzt? In meiner Version 4.8.7 sieht das so aus:

Code:
typedef void __fastcall (__closure *TVTHeaderClickEvent)(TVTHeader* Sender, TColumnIndex Column, Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#5

AW: Faszinierendes Problem mit Virtual String Trees (BCB6)

  Alt 10. Apr 2012, 21:03
Hängt da vielleicht noch irgendwo eine alte Version rum, die die anderen Parameter nutzt? In meiner Version 4.8.7 sieht das so aus:

Code:
typedef void __fastcall (__closure *TVTHeaderClickEvent)(TVTHeader* Sender, TColumnIndex Column, Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
Hmm, interessant. In meiner Version 4.8.7 so wie oben dargestellt. Ich werde mal systemweit nach Headern suchen.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Faszinierendes Problem mit Virtual String Trees (BCB6)

  Alt 10. Apr 2012, 21:34
Gausi, ich danke dir ... es war wie du schon vermutetest ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  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 02:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz