REALBasic Child FolderItem также должен быть каталогом - PullRequest
1 голос
/ 17 июня 2010

У меня есть куча кода Realbasic, написанного на Mac, который я должен перенести в Windows.Прямо сейчас давайте просто попробуем запустить программу из REAL Studio.GetFolderItem ("") возвращает папку, в которой находится приложение. Child ("A") возвращает другой FolderItem, как и следовало ожидать.Но когда я вызываю Child ("B") для A, он возвращает FolderItem с False, установленным для свойства Directory.Но B это папка на моем Windows!Так что теперь он не позволит мне получить Дитя Б, он просто вернет ноль.Этот код отлично работал на MacOSX.Есть предложения?

Заранее спасибо, Me

Ответы [ 2 ]

2 голосов
/ 17 июня 2010

Я подозреваю, что вы не в том каталоге, в котором, как вы думаете, вы есть.Попробуйте найти путь в отладчике, чтобы увидеть, находится ли отладчик там же, где и вы.

Это распространенная проблема при работе с Mac против Windows в RB.На Mac многие вещи помещаются в папку комплекта, поэтому нет внешних файлов / каталогов, и, поскольку Windows не имеет эквивалента, люди не понимают, по какому пути они находятся.

Кстати, вы несначала не нужно использовать GetFolderItem ("").Вы можете просто использовать GetFolderItem («A»), потому что вы по умолчанию используете каталог, в котором находится приложение.

0 голосов
/ 30 августа 2014

Часто я предпочитаю использовать этот код. Это самоочевидно и позволяет избежать этой распространенной ошибки.

dim base as folderitem = App.ExecutableFile.Parent

#if DebugBuild = true then
base = App.ExecutableFile.Parent.Parent
#endif

dim target as folderitem = base.Child("A").Child("B")

Вы также можете поместить его в функцию для повторного использования.

...