Answers.Body: <p>A temporary fix I found that works: using the provided "gray blobs", there is one named "PBRStringAtIndex" (or something like that) which will indeed compile (EV3 only). This does not address the similar "write at index" issue, and the output is a "byte" (presumably ASCII), not text.</p>
  
  <p><em>(I will update this answer as I find out more.)</em></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-04-14T07:28:15.933Z
Answers.LastActivityDate: 2015-04-14T07:28:15.933Z
Answers.UserDisplayName: Ernest3.14
Body: <p>I am attempting to make a custom block according to the EV3 Block Developer kit (found <a href="http://www.lego.com/en-us/mindstorms/downloads" rel="noreferrer">here</a>). I was able to create a simple block that returns the length of a string. This is what it looks like:
  <img src="https://i.sstatic.net/kl03K.png" alt="simple program with custom blocks">
  (The above program would correctly display a value of "2" on the screen.)</p>
  
  <p>However, I am running into problems when I try to use the "string subset" block in the dev kit. The following program will not even compile (the text says "GOODBYE CRUEL WORLD"):
  <img src="https://i.sstatic.net/WlBGA.png" alt="broken program to read at index"></p>
  
  <p>I've hunted down the problem as residing in the "string subsection" block: Whenever this block is left out, the code will compile. Is this block not supported in EV3-G?
  <img src="https://i.sstatic.net/VVHgF.png" alt="LabView code"></p>
  
  <p><br /></p>
  
  <hr>
  
  <p><br />
  <strong>Edit</strong>: Here's the program along with the error:
  <img src="https://i.sstatic.net/VsPPq.png" alt="complete program with error"></p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-04-16T14:00:40.357Z
Comments.Text: Interesting. I got the same result as you. I guess LEGO has missed to map this VI palette function to the corresponding brick primitive. I don't see a way to fix this. To learn that you can't use the full VI Palette for your own blocks is quite disappointing, I'm sure you are not the only one trying to enhance the existing function library. Especially string operations like find, split, etc. are really missing. I hope LEGO is going to fix this problem, since I really like the concept of EV3-G, but the possibility to enhance the function library will be quite essential.
Comments.UserDisplayName: alexs
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-19T07:46:39.503Z
Comments.Text: Why do not you lay out your block?
Comments.UserDisplayName: bonny
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-19T11:56:36.303Z
Comments.Text: These are custom VI blocks, not the custom blocks that you can lay out. I was looking for missing functionality that wasn't possible with the traditional "custom blocks".
Comments.UserDisplayName: Ernest3.14
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-20T02:16:52.347Z
Comments.Text: Because I was trying to access functionality not baked into any existing blcoks. (Also I'm a C++ programmer by trade, so I like to do as much stuff at compile-time as possible.)
Comments.UserDisplayName: Ernest3.14
Tags: <ev3><programming><ev3-g>
Title: Custom EV3 Block: "Unable to compile..." ("string subsection")
UserDisplayName: Ernest3.14
ThreadText: # Custom EV3 Block: "Unable to compile..." ("string subsection")
  
  (Asked by: username_0 on 2015-04-13)
  
  I am attempting to make a custom block according to the EV3 Block Developer kit (found [here](http://www.lego.com/en-us/mindstorms/downloads)). I was able to create a simple block that returns the length of a string. This is what it looks like:
  ![simple program with custom blocks](https://i.sstatic.net/kl03K.png)
  (The above program would correctly display a value of "2" on the screen.)
  
  However, I am running into problems when I try to use the "string subset" block in the dev kit. The following program will not even compile (the text says "GOODBYE CRUEL WORLD"):
  ![broken program to read at index](https://i.sstatic.net/WlBGA.png)
  
  I've hunted down the problem as residing in the "string subsection" block: Whenever this block is left out, the code will compile. Is this block not supported in EV3-G?
  ![LabView code](https://i.sstatic.net/VVHgF.png)
  
  ---
  
  **Edit**: Here's the program along with the error:
  ![complete program with error](https://i.sstatic.net/VsPPq.png)
  
  **Tags:** ev3, programming, ev3-g
  
  > **Comments:**
  > **username_1**: Interesting. I got the same result as you. I guess LEGO has missed to map this VI palette function to the corresponding brick primitive. I don't see a way to fix this. To learn that you can't use the full VI Palette for your own blocks is quite disappointing, I'm sure you are not the only one trying to enhance the existing function library. Especially string operations like find, split, etc. are really missing. I hope LEGO is going to fix this problem, since I really like the concept of EV3-G, but the possibility to enhance the function library will be quite essential.  
  > **username_2**: Why do not you lay out your block?  
  > **username_0**: These are custom VI blocks, not the custom blocks that you can lay out. I was looking for missing functionality that wasn't possible with the traditional "custom blocks".  
  > **username_0**: Because I was trying to access functionality not baked into any existing blcoks. (Also I'm a C++ programmer by trade, so I like to do as much stuff at compile-time as possible.)  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2015-04-14. Score: 1 | Accepted answer
  
  A temporary fix I found that works: using the provided "gray blobs", there is one named "PBRStringAtIndex" (or something like that) which will indeed compile (EV3 only). This does not address the similar "write at index" issue, and the output is a "byte" (presumably ASCII), not text.
  
  *(I will update this answer as I find out more.)*
  
  
  ---
  
  