Intraweb - веб-приложение - пользовательские сеансы

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

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

Что мне делать в этом случае? Я пытался найти решение в сети, но не смог :(


person cosmoo    schedule 11.02.2016    source источник
comment
Пожалуйста, укажите свой код. Трудно догадаться, что вы сделали не так, не увидев своего кода.   -  person Alexander Baltasar    schedule 11.02.2016


Ответы (2)


Если вы используете любую IDE Delphi после XE3 (включая) и используете версию IntraWeb, которая поставляется с Delphi, вы должны обновить ее, чтобы она работала правильно. Это бесплатно, дополнительную информацию можно получить здесь: http://atozed.com/IntraWeb/Download/FreeKeyRequest.EN.aspx

После обновления (если это ваш случай) я предлагаю вам взглянуть на одну из демонстраций IntraWeb, здесь: https://iwdemos.codeplex.com/SourceControl/latest

Существует демонстрация под названием Features, которая показывает, как именно создать приложение с несколькими формами. Если честно, я давно работаю с IntraWeb и никогда такого не видел. Если вы не используете глобальную переменную для хранения вашей «текущей» активной формы. Имейте в виду, что IntraWeb - это полностью многопоточное приложение, и глобальные переменные не должны использоваться, если у вас нет какого-либо механизма, защищающего одновременный доступ (но вы должны избавиться от них и вместо этого использовать свойства ServerController).

person Alexandre M    schedule 11.02.2016

Спасибо за быстрый ответ. Некоторое время я работаю с Delphi, но никогда не использовал Intraweb, я работал с ComPort, а IP работает для устройств ввода-вывода. У меня XE7, и я обновил Intraweb до 14.0.52.

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

Вы можете проверить код и другие настройки моего простого проекта. Я помещаю веб-приложение по ссылке ниже, оно без файла .exe. https://www.dropbox.com/s/75zurcew0zr363x/Project1.rar?dl=0

Спасибо за вашу помощь.

person cosmoo    schedule 11.02.2016
comment
это должен быть комментарий к ответу Александра ... пожалуйста, не публикуйте ответы как ответы на вопросы :) - person John Easley; 12.02.2016
comment
Вы вызываете TIWForm2.SetAsMainForm в обработчике событий OnShow. Этот метод нельзя так называть. SetAsMainForm () следует вызывать только ОДИН РАЗ за весь жизненный цикл приложения. Этот метод сообщает IntraWeb, какая форма является основной формой вашего приложения (в Desktop Delphi вы устанавливаете основную форму неявно при создании первой формы). Основная форма - это активная форма при запуске приложения. Если вам нужна какая-то динамическая основная форма (в зависимости от некоторых внешних факторов), вы должны использовать связанное событие ServerController. Какие у вас там намерения? - person Alexandre M; 15.02.2016