Project

General

Profile

Actions

Support Request #6181

closed

HD_PLAYER_FILE could not be resolved

Added by hidden about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Windows 7 64bit
Topic:
ADTF::FilterSDK
FAQ Links:

Description

Support Anfrage:

kurze Frage zum MacroResolver.
Ich habe folgenden Code:

    cMacroResolver oMacroResolver;
    cString curdir = oMacroResolver.Resolve("$CURDIR$");
    cString datFile = oMacroResolver.Resolve("$HD_PLAYER_FILE$");

Die Zeile mit "CURDIR" wird erfolgreich aufgelöst.
Das DAT-File aus dem HD Player wird als leerer cString zurückgegeben - also konnte das Macro nicht aufgelöst werden.

Muss man dem HD Player, außer dem DAT File, noch etwas mitgeben?

Lösung:

Siehe auch Lösung aus verlinkten Ticket #2747.

Durch Marc Bartholomäus hinzugefügt:
Eine (lokale) cMacroResolver-Instanz kann nur ein paar wenige statische Macros auflösen (envvars, ...).
Es gibt aber eine adtf-weite Instanz vom MacroResolver. Bei der werden die "dynamischen" Werte registriert.
(Nur) Bei String-Properties werden die Macros übrigens automatisch (mit Hilfe der adtf-weiten Instanz) aufgelöst.

So sollte es gehen:

    tChar resolved[1024];
    memset(resolved, 0, 1024);
    ucom::cObjectPtr<adtf::IMacroResolver> _pMacroResolver;
    if (IS_OK(_runtime->GetObject(NULL, IID_ADTF_MACRO_RESOLVER, (tVoid**)&_pMacroResolver)))
    {
        if (IS_OK(_pMacroResolver->ResolveMacros("$HD_PLAYER_FILE$", resolved, 512)))
        {
            LOG_INFO(cString::Format("Via Object: '%s'", resolved));
        }
    }


Related issues

Related to Public Support - Support Request #2747: Retrieve name of dat fileClosedActions
Actions #1

Updated by hidden about 5 years ago

Actions #2

Updated by hidden about 5 years ago

  • Project changed from Public Support to 4
  • Status changed from New to Customer Feedback Required
  • Topic set to ADTF::FilterSDK
  • Customer set to AUDI

Hallo Anian,

sieh Dir bitte hierzu das verlinkte Ticket #2747 an.

Gruß
Matthias

Actions #3

Updated by hidden about 5 years ago

Hallo Matthias,
danke für die ref auf Ricks Ticket.
Dass ich auf Recorder-Events hören kann, kenne ich. Ist in meinem Fall jedoch zu "Overpowered".
Ich möchte einfach nur in der Start-Methode mit dem Macro arbeiten.

Anderes Beispiel.
Erstellt man eine hidden Property und schreibt in diese das gewünschte Macro so wird das Macro korrekt aufgelöst.
Ist ein Workaround, aber nicht schön.

Actions #4

Updated by hidden about 5 years ago

  • Status changed from Customer Feedback Required to In Progress

@Flo: Kannst Du Anian weiterhelfen?

Actions #5

Updated by hidden about 5 years ago

Mein Senf dazu:

Eine (lokale) cMacroResolver-Instanz kann nur ein paar wenige statische Macros auflösen (envvars, ...).
Es gibt aber eine adtf-weite Instanz vom MacroResolver. Bei der werden die "dynamischen" Werte registriert.

(Nur) Bei String-Properties werden die Macros übrigens automatisch (mit Hilfe der adtf-weiten Instanz) aufgelöst.

So sollte es gehen:

    tChar resolved[1024];
    memset(resolved, 0, 1024);
    ucom::cObjectPtr<adtf::IMacroResolver> _pMacroResolver;
    if (IS_OK(_runtime->GetObject(NULL, IID_ADTF_MACRO_RESOLVER, (tVoid**)&_pMacroResolver)))
    {
        if (IS_OK(_pMacroResolver->ResolveMacros("$HD_PLAYER_FILE$", resolved, 512)))
        {
            LOG_INFO(cString::Format("Via Object: '%s'", resolved));
        }
    }

Actions #6

Updated by hidden about 5 years ago

  • Status changed from In Progress to Customer Feedback Required
Actions #7

Updated by hidden about 5 years ago

Ok, kann dann geschlossen werden.

Actions #8

Updated by hidden about 5 years ago

  • Description updated (diff)
  • Status changed from Customer Feedback Required to To Be Closed
  • Resolution set to Solved Issue
Actions #9

Updated by hidden about 5 years ago

  • Project changed from 4 to Public Support
  • Subject changed from MacroResolver DAT-File Var to HD_PLAYER_FILE could not be resolved
  • Status changed from To Be Closed to Closed
  • Private changed from Yes to No
Actions

Also available in: Atom PDF