Shop OBEX P1 Docs P2 Docs Learn Events
Propeller tool not finding file in editor tab — Parallax Forums

Propeller tool not finding file in editor tab

SSteveSSteve Posts: 808
edited 2006-05-26 23:17 in Propeller 1
I'm trying to include an object that's in an editor tab, but the Propeller Tool isn't seeing it. Am I doing something wrong?

I notice that the error message says that 'Debug_Parallel_Lcd.spin' isn't found and that the name on the tab is "Debug_Parallel_Lcd". Is the tool mistakenly looking for the ".spin" suffix?

attachment.php?attachmentid=41802

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows
581 x 283 - 35K

Comments

  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-05-26 18:38
    SSTeve
    I'd check to make sure you have the correct spelling.
    next, I'd make sure the .spin file is located exactly in the libary folder.
    I havent needed to use the ext (.spin) for any obj's

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Just tossing my two bits worth into the bit bucket


    KK
    ·
  • SSteveSSteve Posts: 808
    edited 2006-05-26 19:30
    Kaos Kidd said...
    I'd check to make sure you have the correct spelling.
    The spelling is correct. Take a look at the screenshot.
    Kaos Kidd said...
    next, I'd make sure the .spin file is located exactly in the libary folder.
    The .spin file isn't in the library folder, it's in an editor tab--that's the whole point of my post.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2006-05-26 21:06
    SSteve,
    This might actually be a bug....
    ·
    As a test case, I added a "junk" object name GBS associated to a TAB object I happened to have opened called RCTIME.
    After pressing F8 or F10 I get a similar error.

    The Work Folder and Library folder do seem to process correctly, it's just the TABs do not... unless the TAB happens
    to contain an object that is in your Work Folder or Library folder.

    I will pass this along to Jeff Martin.
    ·






    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
    1440 x 900 - 298K
  • CJCJ Posts: 470
    edited 2006-05-26 21:06
    is the file saved?

    there is no .spin file if it isn't saved

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Who says you have to have knowledge to use it?

    I've killed a fly with my bare mind.
  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2006-05-26 21:10
    Cj,

    It wouldn't have a name associated to it other than "Untitled..." if it had not been saved at some point.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • SSteveSSteve Posts: 808
    edited 2006-05-26 21:21
    Thanks, Beau. I was thinking it looked like a bug. I'll bet the match is failing because the Tool is looking for the ".spin" extension.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows
  • Jeff MartinJeff Martin Posts: 760
    edited 2006-05-26 21:48
    Hi,

    For a quick answer:

    For this error to occur, the Debug_Parallel_LCD.spin file must not really be in the right folder, either Synth's work folder: C:\Documents and Settings\Steve Nicholson\My Documents\Propeller\Downloaded\FrequencySynth\ or the library folder: C:\Program Files\Parallax Inc\Propeller Tool v0.95.1\


    Longer explanation:

    This isn't really a bug; it relates to a detail/behavior that we usually don't explain to people at first because it overly complicates the explanation of work and library folders. Every application compiled with the Propeller Tool can contain only objects that are either in the work folder or the library folder. In addition, it can include objects that are open in tabs but are not saved yet. The work folder is always the folder of the object where compilation started from.

    Even if tabs are open that have the correct name, it won't use that file if that file did not come from either the work or library folders (unless it isn't saved at all yet).

    So at compile time, what it does is:
    1) Determine the work directory from the top object file for the compile operation. If the file is not yet saved anywhere, the work directory is essentially blank (it doesn't not exist or is "unknown")

    then, for every object referenced by another object it does one or more of the following, in order:

    2a) It looks in the edit tabs for that object, but only if that object is stored in either the work folder or library folder (or is never saved anywhere)
    2b) If the file that referred to an object is in the work directory, it looks in the work directory
    2c) It looks in the library directory as a last resort


    Here's another example:

    Untitled1
    OBJ
    U : "Untitled2"
    PUB Main


    Untitled2
    PUB Start

    These are not saved anywhere yet. If you compile Untitled1, it will compile even though both files (Untitled1 and Untitled2) have not been saved yet. If you save just Untitled1.spin, it will still compile properly because Untitled2 is currently open and hasn't been saved to any folder that is other than the work or library folder.

    If, however you had saved Untitled2 but never saved Untitled1 (and kept the names the same), then tried to compile Untitled1... it would not compile because, since it has never been saved it has no "work" folder and when it tries to find Untitled2, even through Untitled2 is open in the editor, Untitled2 now has a home in some folder other than the work folder (which is unknown) and library folder... so the tool can't assume that it's the right file and it provides an error that states that the possible cause is that Untitled1 has not been saved yet.


    If anyone has read this far in the explanation... perhaps this situation can be assisted by the tool suggesting to the user that there is a tab opened that appears to be the desired object, but that it can't include it in the compilation because that tab's file is stored in the wrong place (from the perspective of the compiler). What do you think?

    Of course... another possiblility is that there really is some bug causing this and I've completely missed the boat. Please correct me with a deterministic way to duplicate the problem if I am in error.

    Thanks!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Jeff Martin

    · Sr. Software Engineer
    · Parallax, Inc.
  • SSteveSSteve Posts: 808
    edited 2006-05-26 23:17
    Thanks for the explanation, Jeff. It makes perfect sense.
    Jeff Martin said...
    If anyone has read this far in the explanation... perhaps this situation can be assisted by the tool suggesting to the user that there is a tab opened that appears to be the desired object, but that it can't include it in the compilation because that tab's file is stored in the wrong place (from the perspective of the compiler). What do you think?
    There definitely needs to be some kind of change. The current wording of the "Cannot find object" dialog isn't consistent with the program behavior that you've described. I think adding something to the effect that only unsaved files are searched for in editor tabs would be helpful.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows
Sign In or Register to comment.