Функция возвращает true, но затем становится ложной при назначении - PullRequest
0 голосов
/ 07 декабря 2010

Я вызываю функцию (SaveChanges) для доступа к своему бизнес-слою / слою данных и сохраняю любые изменения в полях, которые помечены как Добавить или Обновить и помечены для обработки.Эта функция работала нормально до 60+ минут назад.

То, что происходит, - то, что внезапно функция возвращает false.После отладки кода, когда он нажимает Return, локальное логическое значение устанавливается как True ... но когда оно возвращается к вызывающему методу (и использует возвращаемое значение), оно теперь False.Я проходил построчно и отлаживал его, затем добавил к нему часы.Самое смешное в том, что есть одна точка, которая устанавливает логическое значение в false, и когда я ставлю точку останова на эту точку, она никогда не достигается.И вот как я использую эту функцию:

If SaveChanges() Then

        Dim frmTableView As frmTableView = New frmTableView(_listData.Tables(0).TableName)

        If Not Me.MdiParent Is Nothing Then

            frmTableView.MdiParent = Me.MdiParent

        End If

        frmTableView.Show()

        Me.Close()

    Else

        MessageBox.Show("Unable to save the list. IT has been notified.", "Save Failed", MessageBoxButtons.OK, MessageBoxIcon.Error)

    End If

Я трачу слишком много времени на это и решил, что пришло время обратиться за помощью.

Спасибо

Ответы [ 4 ]

6 голосов
/ 07 декабря 2010

Вы никогда не возвращаете свой логический. Добавить:

Return blnSaved

внизу функции.

1 голос
/ 07 декабря 2010

Я согласен с тем, что вы просто пропустили Return blnSaved.Я бы также предположил, что вам не нужен следующий оператор else, потому что вы уже инициализируете значение blnSaved в начале метода.

 Else

        blnSaved = True

 End If
1 голос
/ 07 декабря 2010

Разве вы не пропустили Return blnSaved в конце своей функции?

1 голос
/ 07 декабря 2010

Вы никогда не назначаете возвращаемое значение функции. Вы получите его значение по умолчанию, False. Вместо присвоения локальной переменной (blnSaved) вместо нее присвойте SaveChanges. Или добавьте Return blnSaved в конце функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...