LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

DisplayPanel: but the panel don't appears

Solved!
Go to solution

hello, this is my problem:

some times when my application is running for a few minuts, when I use the DisplayPanel function , the panel don´t appears at screen.

I capture the return result of the operation, but this is the result:

DISPLAY PANEL STATUS[0]: No error has occurred

but the pannel don´t appears.

An idea of the problem?

thanks

 

 

0 Kudos
Message 1 of 5
(3,840 Views)

There is little to tell about this problems with so few details about it.

Is this a top level or a child panel? Can this panel be hidden below another one? Can you move it to a screen position where cennot be overlapped by other application panels? Is your application running when you find this problem or is it stoppd / hang?

Can you post a small sample that exhibits the problem?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 2 of 5
(3,824 Views)

hello again, sorry for not reply earlier, I've been away ...

 

This is my normal situation:

 

// PROGRAMA PRINCIPAL --------------------------------------------
int main (int argc, char *argv[]){
int duplicate,
conectdb;

char buffer[256];

// una sola instancia del programa en ejecución
CheckForDuplicateAppInstance (ACTIVATE_OTHER_INSTANCE, &duplicate);
if(duplicate) return(0);

// PANEL PRINCIPAL
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */

if ((panelPrincipal = LoadPanel (0, "cpm1201.uir", PANEL)) < 0)
return -1;
if ((panelLogs = LoadPanel (0, "cpm1201.uir", LOGPANEL)) < 0)
return -1;
if ((panelProd = LoadPanel (0, "cpm1201.uir", PRODPANEL)) < 0)
return -1;
if ((panLOGIN = LoadPanel (0, "cpm1201.uir", LOGINPANEL)) < 0) // this is a problematic panel >> Hiden by default 
return -1;
if ((panLOGIN2 = LoadPanel (0, "cpm1201.uir", LOGINPAN2)) < 0)
return -1;
if ((panADMIN = LoadPanel (0, "cpm1201.uir", ADMINPANEL)) < 0)
return -1;

... ...

 

When an user click on a button, a function launch the panel:

 

int LanzarPanel (void)

... ...

 

 

else{
... ...
RESULT = DisplayPanel (panLOGIN); // Panel Launcher
}

 

 

The first time, the panel not have a problem, always appears, 

 

Hide the panel with:  HidePanel (panLOGIN);

 

and the result is this: 

 

https://docs.google.com/file/d/0B3Y9vUVa5DCnQk93d1FoZmhxTjA/edit?usp=sharing

 

 

The problem is that sudenly the panel don't appears but the retur of RESULT = DisplayPanel (panLOGIN); is DISPLAY PANEL STATUS[0]: No error has occurred

 

img =   https://docs.google.com/file/d/0B3Y9vUVa5DCncDRxcmN3VG9uV28/edit?usp=sharing

 

 

thanks for all

 

pd: The panelLogin2 have the same behavior and never fail !!!!

0 Kudos
Message 3 of 5
(3,779 Views)

I don't have any idea what may be wrong by looking at your code, but looking at your use of panels, it may be more appropriate to use InstallPopup instead of DisplayPanel.

0 Kudos
Message 4 of 5
(3,723 Views)
Solution
Accepted by topic author gabino.alonso

thanks for answering,

for the moment I try to solve the problem with DiscardPanel() instead of HidePanel()

and create it a new panel when I need it.

 

I hope that working correctly ... I need a few  tests more ...

 

tanks.

0 Kudos
Message 5 of 5
(3,720 Views)