Resolve: "Dot indexing is not supported for variables of this type."

4 visualizaciones (últimos 30 días)
Palguna Gopireddy
Palguna Gopireddy el 8 de Jul. de 2024
Editada: Keshav el 12 de Jul. de 2024
Hi
I am using MATLAB online. I am getting the following error
Warning: The JavaFrame figure property will be removed in a future release. For more information see UI Alternatives for MATLAB Apps on mathworks.com. > In rawDataReader>initDisplayPage (line 714)
In rawDataReader (line 165)
Dot indexing is not supported for variables of this type.
Error in rawDataReader>initDisplayPage (line 716)
jframe.setFigureIcon(jIcon);
Error in rawDataReader (line 165)
ui.figHandle = initDisplayPage(setupJSON.mmWaveDevice);
Here is the code in line 165 of rawDataReader
ui.figHandle = initDisplayPage(setupJSON.mmWaveDevice);
"setupJSON" variable is created using below line
setupJSON = jsondecode(fileread('2024_July_07_setup.setup.json'));
Here is the content of file '2024_July_07_setup.setup.json'
{
"createdByVersion": "2.1.0",
"createdOn": "2024-07-07T11:52:19.6750601+05:30",
"configUsed": "./data_and_related_files/2024_July_07_mmWave.mmwave.json",
"captureHardware": "DCA1000",
"DCA1000Config": {
"dataLoggingMode": "raw",
"dataTransferMode": "LVDSCapture",
"dataCaptureMode": "ethernetStream",
"packetSequenceEnable": 1,
"packetDelay_us": 25
},
"mmWaveDevice": "awr1843",
"operatingFreq": 77,
"mmWaveDeviceConfig": {
"RS232COMPort": "COM9",
"RS232BaudRate": "921600",
"radarSSFirmware": "xwr18xx_radarss.bin",
"masterSSFirmware": "xwr18xx_masterss.bin"
},
"capturedFiles": {
"numFilesCollected": 1,
"fileBasePath": "./data_and_related_files",
"files": [
{
"rawFileName": "adc_data_Raw_0.bin",
"processedFileName": "2024_July_07_adc_data_256Samples_128Loops_1000Frames.bin",
"processedFileSummary": {
"numZeroFillBytes": 0
}
}
]
}
}
How to resolve this error

Respuestas (1)

Catalytic
Catalytic el 8 de Jul. de 2024
You need to stop the code at rawDataReader>initDisplayPage (line 716) and examine what type of variable jframe is. According to the error message, you will find that it is not a type of variable for which 'jframe.setFigureIcon' makes sense.
  2 comentarios
Palguna Gopireddy
Palguna Gopireddy el 8 de Jul. de 2024
Editada: Palguna Gopireddy el 8 de Jul. de 2024
The "jframe" variable is formed like this.
function [figHandle] = initDisplayPage(platformType)
global ui
%Setup the main figure
figHandle = figure(1);
clf(figHandle);
set(figHandle,'Name',strcat('Texas Instruments mmWave device - ', upper(platformType), ' Post Processing Tool'),'NumberTitle','off');
warning off MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame
jframe=get(figHandle,'javaframe');
jIcon=javax.swing.ImageIcon('texas_instruments.gif');
jframe.setFigureIcon(jIcon);
So I think "jframe" variable is used in plotting.
I am able to run the program by just commenting the line
%jframe.setFigureIcon(jIcon);
Didn't need to stop the code. The program is showing some plots like below and the program is running until the stop button is pressed. I think the plots are running java.
But still this waring is appearing
Warning: The JavaFrame figure property will be removed in a future release. For more information see UI Alternatives for MATLAB Apps on mathworks.com. > In rawDataReader>initDisplayPage (line 714)
In rawDataReader (line 165)
Never plotted something likethis using java in MATLAB. I searche matlab documents and forum. Found that it is used to replace the figure icons. How to replace MATLAB icon from a figure window? - MATLAB Answers - MATLAB Central (mathworks.com)
I think this dot indexing error is appeaing because of "jframe.setFigureIcon(jIcon)", I thought because of "ui.figHandle = initDisplayPage(setupJSON.mmWaveDevice);"
still like to know what caused this error. (I am using MATLAB online)
Keshav
Keshav el 12 de Jul. de 2024
Editada: Keshav el 12 de Jul. de 2024
Hi,
You are receiving the error message "Dot indexing is not supported for variables of this type" because the variable "jframe" in your code is an empty array.
The following code is returning an empty array in MATLAB Online.
get(figure(1), 'javaframe')
As a result, the variable "jframe" is an empty array, and you cannot access any properties of an empty array.
I hope the above explanation answers your query.

Iniciar sesión para comentar.

Categorías

Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by