Narrow cast and wide cast in ABAP OO

Hi Xperts
Considering the code below can the concepts of narrowing cast and widening cast be explained ? Kindly help me in getting a clear picture of the usage of it.
CLASS C1 DEFINITION.
  PUBLIC SECTION.
    CLASS-DATA: COUNT TYPE I.
    CLASS-METHODS: DISP.
ENDCLASS.                    "defintion  C1
CLASS C1 IMPLEMENTATION.
  METHOD DISP.
    WRITE :/ COUNT.
  ENDMETHOD.                    "disp
ENDCLASS.                    "c1 IMPLEMENTATION
CLASS C2 DEFINITION INHERITING FROM C1.
  PUBLIC SECTION.
    CLASS-METHODS: GET_PROP.
ENDCLASS.                    "c2  INHERITING C1
CLASS C2 IMPLEMENTATION.
  METHOD GET_PROP.
    COUNT = 9.
    CALL METHOD DISP.
  ENDMETHOD.                    "get_prop
ENDCLASS.                    "c2 IMPLEMENTATION
START-OF-SELECTION.
  DATA: C1_REF TYPE REF TO C1,
        C2_REF TYPE REF TO C2.
PS: Pls dont post any links as i already gone thru couple of those in SDN but couldnt get a clear info

Hi
I got to know abt narrow cast: referecing a super class ref to a subclass ref so that the methods in subclass can be accessed by the super class reference. Below is snippet of the code i'd checked. Hope this is correct to my understanding. If any faults pls correct me. Also if anyone can explain wideing cast in this context will be very helpful
FOR NARROW CAST
{size:8}
CLASS C1 DEFINITION.
  PUBLIC SECTION.
    CLASS-DATA: COUNT TYPE I.
    CLASS-METHODS: DISP_COUNT.
ENDCLASS.                    "defintion  C1
CLASS C1 IMPLEMENTATION.
  METHOD DISP_COUNT.
    WRITE :/ 'Class C1', COUNT.
  ENDMETHOD.                    "disp
ENDCLASS.                    "c1 IMPLEMENTATION
CLASS C2 DEFINITION INHERITING FROM C1.
  PUBLIC SECTION.
    CLASS-METHODS: GET_PROP,
                   DISP.
ENDCLASS.                    "c2  INHERITING C1
CLASS C2 IMPLEMENTATION.
  METHOD GET_PROP.
    COUNT = 9.
    CALL METHOD DISP.
  ENDMETHOD.                    "get_prop
  METHOD DISP.
    WRITE :/ 'Class C2', COUNT.
  ENDMETHOD.                    "DISP
ENDCLASS.                    "c2 IMPLEMENTATION
START-OF-SELECTION.
  DATA: C1_REF TYPE REF TO C1,
        C2_REF TYPE REF TO C2.
  CREATE OBJECT: C2_REF TYPE C2.
*  CREATE OBJECT: C1_REF TYPE C1.
  BREAK-POINT.
  C1_REF = C2_REF.
  CALL METHOD C1_REF->DISP_COUNT.
  CALL METHOD C1_REF->('GET_PROP').
{size}
Edited by: Prabhu  S on Mar 17, 2008 3:25 PM

Similar Messages

  • Narrow casting vs wide casting

    Hello All,
    I have small requriemn..
    I have a super class A and a sub class B.
    In both the classes I have a method XYZ.
    So, A has the following methods
    ABC
    XYZ
    B has the following methods
    XYZ
    Now I have want to access the sub class methods from super class...i.e., in my example...Method XYZ of B class needs to be accessed from method ABC or XYZ or A.
    How do I do?
    And more over..what is the difference between Narrow Casting and Wide casting?
    Kalyan

    Hi Priya,
    Consider the below Example for accessing the subclass method from Superclass:
    CLASS LCL_SUPERCLASS DEFINITION.
       PUBLIC SECTION.
           METHODS: ABC, XYZ.
    ENDCLASS.
    CLASS LCL_SUPERCLASS IMPLEMENTATION.
      METHOD ABC.
       CALL METHOD ME->XYZ.
      ENDMETHOD.
      METHOD XYZ.
      ENDMETHOD.
    ENDCLASS.
    CLASS LCL_SUBCLASS DEFINITION
           INHERITING FROM LCL_SUPERCLASS.
       PUBLIC SECTION.
          METHODS XYZ REDEFINITION.
    ENDCLASS.
    CLASS LCL_SUBCLASS IMPLEMENTATION.
      METHOD XYZ.
      ENDMETHOD.
    ENDCLASS.
    START-OF-SELECTION.
    DATA: O_SUPER TYPE REF TO LCL_SUPERCLASS,
               O_SUB     TYPE REF TO LCL_SUBCLASS.
    CREATE OBJECT: O_SUPER, O_SUB.
    CALL METHOD O_SUPER->ABC.
    CALL METHOD O_SUB->ABC.
    In the above example, When you call the superclass method ABC using CALL METHOD O_SUPER->ABC, as you see in the implementation part of the Method it will inturn call the Superclass method XYZ.
    Here ME will point to the instance of the Superclass.
    But the CALL METHOD O_SUB->ABC will call the method ABC ( this is inherited from Superclass to Subclass )and inturn it calls the method XYZ of the SUbclass since ME now points to the object O_SUB of the Subclass.
    Hope this is clear.
    Regards,
    Nirupamaa.

  • Narrowing cast and widening cast

    Hi All,
           I want to know what is the use of a narrowing cast and a widening cast in ABAP objects.
    Can someone please give an example ?
    Regards,
    Ashish

    Hi,
    Check out this link, This will guide you on ABAP Objects
    http://www.sap-press.de/katalog/buecher/htmlleseproben/gp/htmlprobID-28?GalileoSession=22448306A3l7UG82GU8#level3~3
    Both narrow and wide casting are related to inheritance.
    In Narrow casting, you assign a runtime object of subclass to runtime object of superclass. By this assignment , you can access your subclass by using runtime object of your superclass. But here the important point is that, you are assigning subclass reference to super class reference, so you can only access the inherited components of subclass through super class reference.
    Suppose you have a super class lcl_vehicle. it has two subclasses lcl_car and lcl_truck.
    r_vehicle = r_car.
    In Wide casting, you assign a superclass reference to subclass reference . Before this, you do narrow casting,
    Now when you assign a superclass reference to subclass reference. You can access the inherited as well as the specific components of subclass.
    taking the same example,
    r_car ?= r_vehicle.
    '?='  wide cast operator.
    Regards
    Abhijeet

  • What is upcast/ narrowing cast and widening cast/downcast?

    Hi All SAPIENT,
    What is upcast/ narrowing cast and widening cast/downcast?Why we are using upcast and downcast?Please send me good reply to my mail id pankaj.sinhas2gmail.com.
    Regards
    Pankaj Sinha.

    Hi Srinivasulu,
    Narrowing cast means whenever Sub-Class Reference is Assigned to a Super Class reference it is Narrowing Cast,
    Widening cast means Super Class reference  is Assigned to a Sub-Class Reference then it is Widening Cast.
    See the following links for more information,
    [http://help-abap.blogspot.com/2008/09/abap-objects-narrowing-cast-upcasting.html]
    [http://help-abap.blogspot.com/2008/09/abap-objects-widening-cast-down-casting.html]
    Regards,
    Raghava Channooru.

  • Narrow Cast and Widening cast in OOPs

    hi friends,
    Can u please clear with the above two concepts ..... i have many doubts on this ...
    first of all Y we need the concept of Narrow cast and widenning cast ?
    Expecting your answers ...
    Thanks in advance
    Cheers
    Kripa Rangachari .....

    hi Kripa,
    “Narrowing” cast means that the assignment changes from a more specialized view (with visibility to more components) to a more generalized view (with visibility to fewer components).
    “Narrowing cast” is also referred to as “up cast” . “Up cast” means that the static type of the target variable can only change to higher nodes from the static type of the source variable in the inheritance tree, but not vice versa.
    <b>Reference variable of a class assigned to reference variable of class : object</b>
    class c1 definition.
    endclass.
    class c1 implementation.
    endclass.
    class c2 definition inheriting from c1.
    endclass.
    class c2 implementation.
    endclass.
    start-of-selection.
    data : oref1 type ref to c1,
            oref2 tyep ref to c2.
    oref1 = oref2.
    <b>Widening Cast</b>
    DATA:     o_ref1 TYPE REF TO object,                o_ref2 TYPE REF TO class.
    o_ref2 ?= o_ref1.
    CATH SYSTEM-EXCEPTIONS move_cast_error = 4.
         o_ref2 ?= o_ref1.
    ENDCATCH.
    In some cases, you may wish to make an assignment in which the static type of the target variable is less general than the static type of the source variable. This is known as a widening cast.
    The result of the assignment must still adhere to the rule that the static type of the target variable must be the same or more general than the dynamic type of the source variable.
    However, this can only be checked during runtime. To avoid the check on static type, use the special casting operator “?=“ and catch the potential runtime error move_cast_error
    Regards,
    Richa

  • Narrow type or wider type

    What means narrow type and wider type? Can we find any narrow tpe that we can give values of a wider type?

    if i m not wrong, then you were asking about implicit and explicit conversion of different data types rite? Which asking whether a smaller memory allocated data type can accept/fit in a larger memory allocated data type. Example a conversion of Double into Integer ....

  • How important it is to understand Concept of Narrow & Wide casting in ABAP Objects

    Hi Friends,
    I Understood that, it is very important to understand the concept of "Casting ( Narrow Casting & Wide Casting )" properly.
    Let us see the following cases where the concept of "Casting ( Narrow Casting & Wide Casting )" comes into the picture in various practices of Abap, Webdynpro abap and FPM.
    1. ABAP:-
    When we are working with RTTS in abap it is very much important we must know the Casting Techniques. Without knowledge of the Casting of objects, there will be a lot of trouble we may faces.
    Mainly RTTS offers Runtime Type Services, means RTTS Programming enables us to find the type of the particular data obejct or data type or data reference in the run time.
    RTTS also enables us to create the data in the run time very dynamically.
    So, in the run time when we finding the type of the data objects or creation of data objects in the run time, We must do the Wide casting and Narrow casting also some times on the references provided by SAP Dynamically.
    So, here we go to have knowledge on Casting is mandatory.
    2. WEBDYNPRO ABAP:-
    The another point where the concept of casting comes into picture is , When we working with the ALV Reports and Dynamic programming of WEBDYNPRO. Here also we should posses good casting skills.
    3. FPM:-
    The major use of casting comes in hand is none other than FPM. When we working with certain Floor Plans or when we woking with Feeder Class concept of FPM, Casting comes into picture again.
    Along with Casting ( Narrow casting & Wide casting ), We must have the knowledge of 'Field Symbols' and 'Data References (known & Unknown)' to work with our all complex scenarios of Webdynpro and FPM and all.
    So guys, please have Knowledge on the following, befor you master on advanced techniques of WEBDYNPRO and FPM etc.
         1. Field Symbols
         2. Data References (known & unknown)
         3. Casting (Narrow casting & Wide casting)
         4. Brief Idea about RTTS
    All the above 4 concepts will definitely make our life easy when dig more into WEBDYNPRO ABAP and FPM.
    Thank You.
    Please share your comments on the same.

    Hi Shankar,
    It's really good to know.
    It could be great if you can share few technicalities for the concepts explained.
    Regards,
    Rafi

  • Change Narrowing and Widening Cast

    I have ABAP Object 2007 book from Horst Keller and I also have a 7.0 SAP System.
    SAP have changed the terminology from SAP 6.40.
    Please see this hyperlink  [Version 7.0 ABAP Modification 6|http://help.sap.com/abapdocu/en/ABENNEWS-70-DOCU.htm#!ABAP_MODIFICATION_6@6@]
    In addition when I click on Help on MOVE and the Casting operator in my 7.0 Version system is explained as
    Up Cast
    Also referred to as widening cast. Assignment between reference variables, where the static type of the target variables is similar or identical to the static type of the source variables.
    Down cast
    Also called a narrowing cast, a down cast is an assignment between reference variables in which the typr static type of the target variable more specific than the static type of the source variable. A down cast is only possible in assignments with the casting operator (?=) or MOVE ... ?TO. Compare with up cast
    SAP now want you to use the unambiguous terms of UP and DOWN  Version 7.0 of course.
    Does anybody have a pre640 SAP system (46C,47) that can confirm that the terminology has changed ?

    Hi,
    The terminology has not changed, but its a prior mistake made while writing notes, but the concept still remains the same as far as I have check in systems...
    Regards,
    Siddarth

  • Why narrow casting is must before doing wide casting

    Hi everyone,
    I know the concept of wide casting ( assign/pass super class instances to subclass instances). So then why we need to do narrow casting before doing wide casting in our logic. I am just struggling into this concept from last 3 days. I have read many thread and blog but did not get satisfactory answer.
    Regards,
    Seth

    Hello Seth
    You do not need to do narrow casting. But, if you assign an instance of a super class to variable of subclass and try to run a subclass' method on that instance (of superclass) you will get an exception. Because super class does not have a mentioned method.
    Example:
    CLASS lcl_vehicle DEFINITION.
    ENDCLASS.
    CLASS lcl_car DEFINITION INHERITING FROM lcl_vehicle.
      DATA engine TYPE string VALUE 'has_engine'.
    ENDCLASS.
    DATA:
      lo_vehicle TYPE lcl_vehicle,
      lo_car TYPE lcl_car.
    CREATE OBJECT lo_vehicle.
    CREATE OBJECT lo_car.
    WRITE lo_car->engine.
    lo_car ?= lo_vehicle.
    WRITE lo_car->engine.
    regards

  • Wide casting problem

    Hi All,
    Can u explain Wide casting in detail ? already i gone through sdn links but still i didnt get clear .  please go through the follwing code snippet and explain where i made mistake in order to getting wide casting.. my problem is as wide casting i want to access the base class methods with reference of sub class when the base class methods are redefined in sub class(actually sub class reference access the  subclass methods only if we have same methods in base and as well as sub class) in my program after performing wide cast also it is accessing sub class methods only please send the answer.
    REPORT  ZNARROW_WIDE.
    CLASS C1 DEFINITION.
    PUBLIC SECTION.
    METHODS:M1,M2.
    ENDCLASS.
    CLASS C1 IMPLEMENTATION.
    METHOD M1.
    WRITE:/ ' THIS IS SUPER CLASS METHOD M1'.
    ENDMETHOD.
    METHOD M2.
    WRITE:/ ' THIS IS SUPER CLASS METHOD M2'.
    ENDMETHOD.
    ENDCLASS.
    CLASS C2 DEFINITION INHERITING FROM C1.
    PUBLIC SECTION.
    METHODS:M1 REDEFINITION.
    METHODS:M2 REDEFINITION,
                      M3.
    ENDCLASS.
    CLASS C2 IMPLEMENTATION.
    METHOD M1.
    WRITE:/ ' THIS IS SUB CLASS METHOD M1'.
    ENDMETHOD.
    METHOD M2.
    WRITE:/ ' THIS IS SUBCLASS METHOD M2'.
    ENDMETHOD.
    METHOD M3.
    WRITE:/ ' THIS IS SUB CLASS METHOD M3'.
    ENDMETHOD.
    ENDCLASS.
    DATA:O_SUPER TYPE REF TO C1,
         O_SUB TYPE REF TO C2.
    START-OF-SELECTION.
    CREATE OBJECT O_SUPER.
    CREATE OBJECT O_SUB.
    CALL METHOD O_SUPER->M1.
    CALL METHOD O_SUPER->M2.
    CLEAR O_SUPER.
    O_SUPER = O_SUB.
    CALL METHOD O_SUPER->('M3').
    SKIP 5.
    ULINE 1(80).
    CLEAR O_SUB.
    O_SUB ?= O_SUPER.
    CALL METHOD O_SUB->M1.
    CALL METHOD O_SUB->M2.
    CALL METHOD O_SUB->M3.
    Thanks in advance.
    sreenivas P

    Hi,
    consider the following sample code:
    REPORT  ZA_TEST93.
    class class_super definition.
      public section.
        data: var_area type i.
        methods:
        area importing length type i breadth type i.
    endclass.
    class class_super implementation.
      method area.
        var_area = length * breadth.
        write:/ 'Area of rectangle = '.
        write: var_area.
      endmethod.
    endclass.
    class class_sub definition inheriting from class_super.
      public section.
      data:height type i.
      methods:
      area redefinition.
    endclass.
    class class_sub implementation.
      method area.
        var_area = 6 * length * breadth * height.
        write:/ 'Area of the cube ='.
        write: var_area.
      endmethod.
    endclass.
    start-of-selection.
    data: object_superclass type ref to class_super,
          object_subclass type ref to class_sub,
          object2_superclass type ref to class_super.
    create object object_superclass.
    create object object2_superclass.
    create object object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    "Narrow casting
    object_subclass->height = 10.
    object_superclass = object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 10.
    "Wide casting
    object_superclass ?= object2_superclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    Explanation:
    In the above code, consider the super class named 'class_super'.
    This class has a method called 'area' which is used to calculate the area of a rectangle.
    Consider the subclass 'class_sub', which inherits all the attributes and methods of super class 'class_super'.
    Now we want to use the same method of super class 'class_super', 'area', but this time we want it to calculate the area of a cube.
    For this purpose we use the 'redefinition' keyword in the definition part of 'class_sub' and enter the code for cube area calculation in the 'area' method body in the implementation part of 'class_sub'.
    From the above code, consider the following code snippet:
    create object object_superclass.
    create object object2_superclass.
    create object object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    Explanation: Two objects of the superclass and one object of the subclass are created and the 'area' method of the superclass is called to compute the area of a rectangle.
    Now consider what comes next:
    "Narrow casting
    object_subclass->height = 10.
    object_superclass = object_subclass.
    call method object_superclass->area exporting length = 10 breadth = 10.
    Explanation:
    We assign a value of 10 to the 'height' instance variable of the subclass object.
    Then we perform narrow casting in the next line(object_superclass = object_subclass.).
    Now the instance of the superclass(object_superclass) now points or refers to the object of the subclass, thus the modified method 'area' of the subclass is now accessible.
    Then we call this method 'area' of the subclass to compute the area of the cube.
    Moving on to the final piece of code:
    "Wide casting
    object_superclass ?= object2_superclass.
    call method object_superclass->area exporting length = 10 breadth = 5.
    Explanation:
    The object 'object_superclass' now refers to the object of the subclass 'object_subclass'.
    Thus the 'area' method of the superclass cannot be called by this object.
    In order to enable it to call the 'area' method of the superclass, wide casting has to be perfomed.
    For this purpose, the RHS of the wide casting must always be an object of a superclass, and the LHS of the wide casting must always be an object reference declared as 'type ref to' the superclass(objectsuperclass ?= object2_superclass.)._
    Otherwise a runtime error will occur.
    Finally the 'area' method of the superclass can now be called once again to compute the area of the rectangle.
    The output of the above example program is as follows:
    Area of rectangle =          50
    Area of the cube =      6,000
    Area of rectangle =          50
    Also note that wide casting cannot be performed on subclass objects, wide casting can only be performed on superclass objects that have been narrow cast.
    Hope my explanation was useful,
    Regards,
    Adithya.
    Edited by: Adithya K Ramesh on Dec 21, 2011 11:49 AM
    Edited by: Adithya K Ramesh on Dec 21, 2011 11:51 AM

  • Wide casting

    Hi all,
    Can anybody please tell the usuage of wide casting.
    preferable with simple code.
    Anirban Bhattacharjee

    Hi,
    1. Wider/up casting :
    This means a ref object used is of a parent. Now here technically speaking you can only call the methods of the parent class and not of the child class. Even if the parent object is referencing to a child object at runtime, the compiler does not allow you to call the child method.
    Wide casting does not have run-time errors as the compiler is able to identify the error at compile time only.
    Wide casting is helpful when you want to have a generic parameter as the importing parameter in OOPs.
    For eg.
    Class p1
    method x.
    Class c1 parent p1
    method y.
    Class c2 parent p1
    method z.
    In the above example both class c1 and c2 are subclasses of p1 and therefore has method x.
    Now let us say the user at runtime can pass object of c1,c2 or p1 and method x has to be capable of receiving all these, then in such case you can assign reference object of parent to method x.
    So method x can be defined as follows
    Class p1
    method x importing p  -
    > where p is type ref to p1.
    I hope this explains your query.
    Regards,
    Saurabh

  • Splitting and type casting huge string into arrays

    Hello,
    I'm developing an application which is supposed to read measurement files. Files contain I16 and SGL data which is type casted into string. I16 data is data from analog input and SGL is from CAN-bus data in channel form. CAN and analog data is recorded using same scan rate.
    For example, if we have 6 analog channels and 2 CAN channels string will be (A represents analog and C represents CAN):
    A1 A2 A3 A4 A5 A6 C1 C2 A1 A2 A3 A4 A5 A6 C1 C2 A1 A2 .... and so on
    Anyway, I have problems reading this data fast enough into arrays. Most obvious solution to me was to use shift registers and split string in for loop. I created a for loop with two inner for loops. Number of scans to read from string is wired to N terminal of the outermost loop. Shift register is initialized with string read from file.
    First of the inner loops reads analog input data. Number of analog channels is wired to its N terminal. It's using split string to read 2 bytes at a time and then type casts data to I16. Rest of the string is wired to shift register. When every I16 channel from scan is read, rest of the string is passed to shift register of the second for loop.
    Second loop is for reading CAN channels. It's similar to first loop except data is read 4 bytes at a time and type casted to SGL. When every CAN channel from scan is read, rest of the string is passed to shift register of the outermost loop. Outputs of type cast functions are tunneled out of loops to produce 2D arrays.
    This way reading about 500 KB of data can take for example tens of seconds depending on PC and number of channels. That's way too long as we want to read several megabytes at a time.
    I created also an example with one inner loop and all data is type casted to I16. That is extremely fast when compared to two inner loops!
    Then I also made a test with two inner loops where I replaced shift register and split string with string subset. That's also faster than two inner loops + shift register, but still not fast enough. Any improvement ideas are highly appreciated. Shift register example attached (LV 7.1)
    Thanks in advance,
    Jakke Palonen
    Attachments:
    String to I16 and SGL arrays.vi ‏39 KB

    OK, there is clearly room for improvement. I did some timing and my two above suggestions are already about 100x faster than yours. A few teeaks led to a version that is now over 500x faster than the original code.
    A few timings on my rather slow computer (1GHz PIII Laptop) are shown on the front panel. For example with 10000 scans (~160kB data as 6+2) my new fastest version (Reshape II) takes 14 ms versus the original 7200ms! It can do 100000 scans (1.6MB data) in under 200 ms and 1000000 scans (15MB data) in under 2 seconds.
    I am sure the code could be further improved. I recommend the Reshape II algoritm. It is fastest and can deal with variable channel counts. Modify as needed.
    Attached is a LabVIEW 7.1 version of the benchmarking code, containing all algorithms. I have verified that all algorithms produce the same result (with the limitation that the cluster version only works for 6*I16+2*SGL data, of course). Remember that the reshape function is extremely efficient, because it does not move the data in memory. I have some ideas for further improvements, but this should get you going.
    Message Edited by altenbach on 08-05-2005 03:06 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    StringI16SGLCastingTimer.png ‏48 KB
    StringtoI16andSGLArraysMODTimer.vi ‏120 KB

  • Exe OK but htm + exe ignores cast and htm + dcr fails

    I've published an .exe with a calling .htm file with Director MX.
    The .exe runs OK  when double clicked in Windows explorer, but when run from the accompanying .htm the Shockwave player runs the .exe 'OK' but the external cast is ignored.
    If I publish it as a .dcr + .htm,  Shockwave produces a message to the effect that the Shockwave movie has problems that prevent playback.
    Is this a query for the Shockwave forum or can anyone here help?
    Thank you..

    Sean, thanks for coming back. Having failed to get the .dcr to run I though running the .exe might give me a clue.
    I imagined that the .exe was a chunk of code with the cast members and xtras used internally as required. It hadn't occurred to me that the Shockwave player would be looking at the cast and weeding out the xtras it objected to.
    I send out cds to my students with their course material in the form of Director.exes.
    The current plan is to put the files on our website for them to access. I thought that there would be problems if we provided exes to download hence  my attempt to let them run the movies from the site via the Shockwave player.
    It may be the case, as jchunick suggests, that I have an unsafe Shockwave Xtra.
    I'm now looking for a (quick?) means of testing which Xtras the player considers safe.

  • Fumbling through V CAST and LG COSMOS Touch Music / pics setup

    OK basically I'm trying to set up my phone (LG cosmos touch) on V CAST and of course I added a MicroSD (8Gig) card. I have songs listed in V cast, and even created a playlist for them and moved them from the "local media content" to the playlist I created in V cast. Here's the problem;
    I plug in the phone and V cast doesn't see it at all at first.
    I go into my phone and "My Music" and hit the "sync" button which SHOULD just suck 'em up, right?
    THEN I get a message on V CAST that my phone is IN SYNC MODE has to be in USB MASS STORAGE MODE to work.
    There's a handy-dandy little video that even tells me how to do it on my new phone...
    I put the phone into USB MASS STORAGE MODE (Menu>tools>Mmemory>) and...
    Now V CAST SEES THE PHONE AS A DRIVE (G
    I can now NOT get to the My Music and "Sync" commands on the phone wihtout dropping out of the USB MASS STORAGE MODE.
    I CANT SYNC... so I drag and drop
    I drag the playlist to the "drive" in the left column and it copies and shows up in V CAST.
    ALL THE SONGS are on the chip...
    In the phone, there's no playlist, and no songs show up in the "My Music" section... No playlists show, no songs under "all songs." It's like tehyre not on the chip. V CAST says there is and theyre there... Phone says NADA...
    WTH is going on?
    To "SYNC" i cannot be in USB MASS STORAGE MODE
    IN USB MASS STORAGE MODE I can copy the playlist and songs to the chip as you would a drive, but the phone's not going to find them, and I cannot SYNC in USB MASS STORAGE MODE.
    GRRRRRRRRRRRRRRRRRR !!!!  Frustrated!

    wow, very nice review Makes me want to get a vision for myself.
    WebKnight wrote:
    <SPAN>
    Add the ability to randomly select a new background from a pre selected group of photos every time the player is turned on or each day.
    I would love that feature. I can't stand useing my computer with a single wall paper anymore (I have 500 anime pics that i rotate between every 2 mins ) If you could make the vision rotate background every x minutes or every time the player is turned on, it would be totally amazeningly sweet!!!! (i might have to go out and buy one then :P)
    I just hope that creative has better firmware support with the vision than they have had with the touch.
    Once again, great review

  • Cast and Crew Credits for Home Videos

    Hi Folks,
    When I purchase a movie from the iTunes store It comes with limited cast and crew credits shown alongside the cover art. How can I add similar information for my Home Videos?
    I have looked in "Get Info" on a purchased Movie, but can't see where this information resides.
    Many thanks,
    David.

    If someone knows that this simply can not be done, knowing that would save me a lot of hassle trying to work it out... Otherwise I will shut up and be more patient.
    Many thanks as always,
    David.

Maybe you are looking for